]> Git Repo - linux.git/commit
mm/page_isolation: unset migratetype directly for non Buddy page
authorChen Wandun <[email protected]>
Fri, 14 Jan 2022 22:08:10 +0000 (14:08 -0800)
committerLinus Torvalds <[email protected]>
Sat, 15 Jan 2022 14:30:30 +0000 (16:30 +0200)
commit721fb891ad0b3956d5c168b2931e3e5e4fb7ca40
tree410159400928e48523ce2f2f0dd6b1dcbb9395c6
parente4b424b7ec8791087375bb1f2480a3ba05d21e0b
mm/page_isolation: unset migratetype directly for non Buddy page

In unset_migratetype_isolate(), we can bypass the call to
move_freepages_block() for non-buddy pages.

It will save a few cpu cycles for some situations such as cma and
hugetlb when allocating continue pages, in these situation function
alloc_contig_pages will be called.

alloc_contig_pages
__alloc_contig_migrate_range
isolate_freepages_range ==> pages has been remove from buddy
undo_isolate_page_range
unset_migratetype_isolate ==> can directly set migratetype

[[email protected]: changelog tweak]

Link: https://lkml.kernel.org/r/[email protected]
Fixes: 3c605096d315 ("mm/page_alloc: restrict max order of merging on isolated pageblock")
Signed-off-by: Chen Wandun <[email protected]>
Reviewed-by: Oscar Salvador <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Cc: Joonsoo Kim <[email protected]>
Cc: Wang Kefeng <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/page_isolation.c
This page took 0.052569 seconds and 4 git commands to generate.