diff options
author | KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> | 2013-11-12 18:08:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-12 22:09:09 -0500 |
commit | 5d0f3f72efb1c1968ce1f56c58f9e3e6495effa6 (patch) | |
tree | 305b30145ede375a9fd146304540f2c3c9af9748 /mm | |
parent | af248a0c67457e5c6d2bcf288f07b4b2ed064f1f (diff) |
mm: fix page_group_by_mobility_disabled breakage
Currently, set_pageblock_migratetype() screws up MIGRATE_CMA and
MIGRATE_ISOLATE if page_group_by_mobility_disabled is true. It rewrites
the argument to MIGRATE_UNMOVABLE and we lost these attribute.
The problem was introduced by commit 49255c619fbd ("page allocator: move
check for disabled anti-fragmentation out of fastpath"). So a 4 year
old issue may mean that nobody uses page_group_by_mobility_disabled.
But anyway, this patch fixes the problem.
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_alloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 770dbb43465f..5a9883614d99 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -234,8 +234,8 @@ int page_group_by_mobility_disabled __read_mostly; | |||
234 | 234 | ||
235 | void set_pageblock_migratetype(struct page *page, int migratetype) | 235 | void set_pageblock_migratetype(struct page *page, int migratetype) |
236 | { | 236 | { |
237 | 237 | if (unlikely(page_group_by_mobility_disabled && | |
238 | if (unlikely(page_group_by_mobility_disabled)) | 238 | migratetype < MIGRATE_PCPTYPES)) |
239 | migratetype = MIGRATE_UNMOVABLE; | 239 | migratetype = MIGRATE_UNMOVABLE; |
240 | 240 | ||
241 | set_pageblock_flags_group(page, (unsigned long)migratetype, | 241 | set_pageblock_flags_group(page, (unsigned long)migratetype, |