mm: improve documentation of page_order
Developers occasionally try and optimise PFN scanners by using page_order but miss that in general it requires zone->lock. This has happened twice for compaction.c and rejected both times. This patch clarifies the documentation of page_order and adds a note to compaction.c why page_order is not used. [akpm@linux-foundation.org: tweaks] [lauraa@codeaurora.org: Corrected a page_zone(page)->lock reference] Signed-off-by: Mel Gorman <mgorman@suse.de> Acked-by: Rafael Aquini <aquini@redhat.com> Acked-by: Minchan Kim <minchan@kernel.org> Cc: Laura Abbott <lauraa@codeaurora.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
0eef615665
commit
6c14466cc0
@@ -523,7 +523,10 @@ isolate_migratepages_range(struct zone *zone, struct compact_control *cc,
|
||||
if (!isolation_suitable(cc, page))
|
||||
goto next_pageblock;
|
||||
|
||||
/* Skip if free */
|
||||
/*
|
||||
* Skip if free. page_order cannot be used without zone->lock
|
||||
* as nothing prevents parallel allocations or buddy merging.
|
||||
*/
|
||||
if (PageBuddy(page))
|
||||
continue;
|
||||
|
||||
|
Reference in New Issue
Block a user