mirror of https://gitee.com/openkylin/linux.git
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 49255c619f
("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>
This commit is contained in:
parent
af248a0c67
commit
5d0f3f72ef
|
@ -234,8 +234,8 @@ int page_group_by_mobility_disabled __read_mostly;
|
|||
|
||||
void set_pageblock_migratetype(struct page *page, int migratetype)
|
||||
{
|
||||
|
||||
if (unlikely(page_group_by_mobility_disabled))
|
||||
if (unlikely(page_group_by_mobility_disabled &&
|
||||
migratetype < MIGRATE_PCPTYPES))
|
||||
migratetype = MIGRATE_UNMOVABLE;
|
||||
|
||||
set_pageblock_flags_group(page, (unsigned long)migratetype,
|
||||
|
|
Loading…
Reference in New Issue