projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a91c43c
)
mm/page_owner: add zone range overlapping check
author
Joonsoo Kim
<
[email protected]
>
Fri, 20 May 2016 00:12:13 +0000
(17:12 -0700)
committer
Linus Torvalds
<
[email protected]
>
Fri, 20 May 2016 02:12:14 +0000
(19:12 -0700)
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]
>
mm/page_owner.c
patch
|
blob
|
history
diff --git
a/mm/page_owner.c
b/mm/page_owner.c
index ac3d8d129974398cb98bf0bbf2b56207fdc18642..438768c092acbf89faa19338688b947d0b0f81c3 100644
(file)
--- a/
mm/page_owner.c
+++ b/
mm/page_owner.c
@@
-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.