Skip to content

Commit

Permalink
mm/page_owner: add zone range overlapping check
Browse files Browse the repository at this point in the history
There is a system thats node's pfns are overlapped as follows:

  -----pfn-------->
  N0 N1 N2 N0 N1 N2

Therefore, we need to care this overlapping when iterating pfn range.

There are one place in page_owner.c that iterates pfn range and it
doesn't consider this overlapping.  Add it.

Without this patch, above system could over count early allocated page
number before page_owner is activated.

Signed-off-by: Joonsoo Kim <[email protected]>
Acked-by: Vlastimil Babka <[email protected]>
Cc: Rik van Riel <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Laura Abbott <[email protected]>
Cc: Minchan Kim <[email protected]>
Cc: Marek Szyprowski <[email protected]>
Cc: Michal Nazarewicz <[email protected]>
Cc: "Aneesh Kumar K.V" <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Michael Ellerman <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
JoonsooKim authored and torvalds committed May 20, 2016
1 parent a91c43c commit 9d43f5a
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions mm/page_owner.c
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,9 @@ static void init_pages_in_zone(pg_data_t *pgdat, struct zone *zone)

page = pfn_to_page(pfn);

if (page_zone(page) != zone)
continue;

/*
* We are safe to check buddy flag and order, because
* this is init stage and only single thread runs.
Expand Down

0 comments on commit 9d43f5a

Please sign in to comment.