]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/zsmalloc: convert location_to_obj() to take zpdesc
authorHyeonggon Yoo <42.hyeyoo@gmail.com>
Mon, 16 Dec 2024 15:04:44 +0000 (00:04 +0900)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 26 Jan 2025 04:22:34 +0000 (20:22 -0800)
As all users of location_to_obj() now use zpdesc, convert
location_to_obj() to take zpdesc.

Link: https://lkml.kernel.org/r/20241216150450.1228021-14-42.hyeyoo@gmail.com
Signed-off-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: Alex Shi <alexs@kernel.org>
Acked-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Tested-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/zsmalloc.c

index ad54fd8e934fa314b7bed09e89d2bcc02ff76c4f..c09a78f9d4536cb02ee3ce37d39691bf1451da25 100644 (file)
@@ -804,15 +804,15 @@ static void obj_to_zpdesc(unsigned long obj, struct zpdesc **zpdesc)
 }
 
 /**
- * location_to_obj - get obj value encoded from (<page>, <obj_idx>)
- * @page: page object resides in zspage
+ * location_to_obj - get obj value encoded from (<zpdesc>, <obj_idx>)
+ * @zpdesc: zpdesc object resides in zspage
  * @obj_idx: object index
  */
-static unsigned long location_to_obj(struct page *page, unsigned int obj_idx)
+static unsigned long location_to_obj(struct zpdesc *zpdesc, unsigned int obj_idx)
 {
        unsigned long obj;
 
-       obj = page_to_pfn(page) << OBJ_INDEX_BITS;
+       obj = zpdesc_pfn(zpdesc) << OBJ_INDEX_BITS;
        obj |= obj_idx & OBJ_INDEX_MASK;
 
        return obj;
@@ -1358,7 +1358,7 @@ static unsigned long obj_malloc(struct zs_pool *pool,
        kunmap_local(vaddr);
        mod_zspage_inuse(zspage, 1);
 
-       obj = location_to_obj(zpdesc_page(m_zpdesc), obj);
+       obj = location_to_obj(m_zpdesc, obj);
        record_obj(handle, obj);
 
        return obj;
@@ -1845,8 +1845,7 @@ static int zs_page_migrate(struct page *newpage, struct page *page,
 
                        old_obj = handle_to_obj(handle);
                        obj_to_location(old_obj, &dummy, &obj_idx);
-                       new_obj = (unsigned long)location_to_obj(zpdesc_page(newzpdesc),
-                                                               obj_idx);
+                       new_obj = (unsigned long)location_to_obj(newzpdesc, obj_idx);
                        record_obj(handle, new_obj);
                }
        }