mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
mm: page_alloc: trace type pollution from compaction capturing
When the page allocator places pages of a certain migratetype into blocks of another type, it has lasting effects on the ability to compact and defragment down the line. For improving placement and compaction, visibility into such events is crucial. The most common case, allocator fallbacks, is already annotated, but compaction capturing is also allowed to grab pages of a different type. Extend the tracepoint to cover this case. Link: https://lkml.kernel.org/r/20250313210647.1314586-3-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Zi Yan <ziy@nvidia.com> Cc: Mel Gorman <mgorman@techsingularity.net> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
67914ac086
commit
f46012c0ec
|
|
@ -614,6 +614,10 @@ compaction_capture(struct capture_control *capc, struct page *page,
|
|||
capc->cc->migratetype != MIGRATE_MOVABLE)
|
||||
return false;
|
||||
|
||||
if (migratetype != capc->cc->migratetype)
|
||||
trace_mm_page_alloc_extfrag(page, capc->cc->order, order,
|
||||
capc->cc->migratetype, migratetype);
|
||||
|
||||
capc->page = page;
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user