aboutsummaryrefslogtreecommitdiffstats
path: root/mm/internal.h
diff options
context:
space:
mode:
authorJohannes Weiner <[email protected]>2024-03-20 18:02:15 +0000
committerAndrew Morton <[email protected]>2024-04-26 03:56:04 +0000
commite0932b6c1f942fa747258e152cdce0d0b2b5be5c (patch)
tree41d635eb737eb57e0b904994e80157d446088ddb /mm/internal.h
parentmm: page_isolation: prepare for hygienic freelists (diff)
downloadkernel-e0932b6c1f942fa747258e152cdce0d0b2b5be5c.tar.gz
kernel-e0932b6c1f942fa747258e152cdce0d0b2b5be5c.zip
mm: page_alloc: consolidate free page accounting
Free page accounting currently happens a bit too high up the call stack, where it has to deal with guard pages, compaction capturing, block stealing and even page isolation. This is subtle and fragile, and makes it difficult to hack on the code. Now that type violations on the freelists have been fixed, push the accounting down to where pages enter and leave the freelist. [[email protected]: undo unrelated drive-by line wrap] Link: https://lkml.kernel.org/r/[email protected] [[email protected]: remove unused page parameter from account_freepages()] Link: https://lkml.kernel.org/r/[email protected] [[email protected]: fix free page accounting] Link: https://lkml.kernel.org/r/a2a48baca69f103aa431fd201f8a06e3b95e203d.1712648441.git.baolin.wang@linux.alibaba.com [[email protected]: avoid defining unused function] Link: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/[email protected] Signed-off-by: Johannes Weiner <[email protected]> Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Baolin Wang <[email protected]> Reviewed-by: Vlastimil Babka <[email protected]> Tested-by: Baolin Wang <[email protected]> Cc: David Hildenbrand <[email protected]> Cc: "Huang, Ying" <[email protected]> Cc: Mel Gorman <[email protected]> Cc: Zi Yan <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'mm/internal.h')
-rw-r--r--mm/internal.h5
1 files changed, 0 insertions, 5 deletions
diff --git a/mm/internal.h b/mm/internal.h
index cbc40f07537c..fb219e31f0f0 100644
--- a/mm/internal.h
+++ b/mm/internal.h
@@ -1039,11 +1039,6 @@ static inline bool is_migrate_highatomic(enum migratetype migratetype)
return migratetype == MIGRATE_HIGHATOMIC;
}
-static inline bool is_migrate_highatomic_page(struct page *page)
-{
- return get_pageblock_migratetype(page) == MIGRATE_HIGHATOMIC;
-}
-
void setup_zone_pageset(struct zone *zone);
struct migration_target_control {