diff options
author | Yajun Deng <yajun.deng@linux.dev> | 2023-12-16 11:05:03 +0800 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2023-12-20 14:48:14 -0800 |
commit | 250ae189d98290d0539b4f9b8c4703e0bf24f9d3 (patch) | |
tree | 64416ddb699f058afe3ff4471a8a7680cafb5ce8 | |
parent | 7e552dcd803f4ff60165271c573ab2e38d15769f (diff) | |
download | linux-stable-250ae189d98290d0539b4f9b8c4703e0bf24f9d3.tar.gz linux-stable-250ae189d98290d0539b4f9b8c4703e0bf24f9d3.tar.bz2 linux-stable-250ae189d98290d0539b4f9b8c4703e0bf24f9d3.zip |
mm: page_alloc: simplify __free_pages_ok()
There is redundant code in __free_pages_ok(). Use free_one_page()
simplify it.
Link: https://lkml.kernel.org/r/20231216030503.2126130-1-yajun.deng@linux.dev
Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-rw-r--r-- | mm/page_alloc.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 7ea9c33320bf..692f33c764d2 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1255,7 +1255,6 @@ static void free_one_page(struct zone *zone, static void __free_pages_ok(struct page *page, unsigned int order, fpi_t fpi_flags) { - unsigned long flags; int migratetype; unsigned long pfn = page_to_pfn(page); struct zone *zone = page_zone(page); @@ -1270,13 +1269,7 @@ static void __free_pages_ok(struct page *page, unsigned int order, */ migratetype = get_pfnblock_migratetype(page, pfn); - spin_lock_irqsave(&zone->lock, flags); - if (unlikely(has_isolate_pageblock(zone) || - is_migrate_isolate(migratetype))) { - migratetype = get_pfnblock_migratetype(page, pfn); - } - __free_one_page(page, pfn, zone, order, migratetype, fpi_flags); - spin_unlock_irqrestore(&zone->lock, flags); + free_one_page(zone, page, pfn, order, migratetype, fpi_flags); __count_vm_events(PGFREE, 1 << order); } |