mm/zsmalloc: convert migrate_zspage() to use zpdesc

Use get_first_zpdesc/get_next_zpdesc to replace get_first/next_page. No
functional change.

Link: https://lkml.kernel.org/r/20241216150450.1228021-15-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>
This commit is contained in:
Hyeonggon Yoo 2024-12-17 00:04:45 +09:00 committed by Andrew Morton
parent 2d57eb9ea9
commit 65a1cf1580

View File

@ -1602,14 +1602,14 @@ static void migrate_zspage(struct zs_pool *pool, struct zspage *src_zspage,
unsigned long used_obj, free_obj;
unsigned long handle;
int obj_idx = 0;
struct page *s_page = get_first_page(src_zspage);
struct zpdesc *s_zpdesc = get_first_zpdesc(src_zspage);
struct size_class *class = pool->size_class[src_zspage->class];
while (1) {
handle = find_alloced_obj(class, page_zpdesc(s_page), &obj_idx);
handle = find_alloced_obj(class, s_zpdesc, &obj_idx);
if (!handle) {
s_page = get_next_page(s_page);
if (!s_page)
s_zpdesc = get_next_zpdesc(s_zpdesc);
if (!s_zpdesc)
break;
obj_idx = 0;
continue;