Re: [patch 2/2] mm, compaction: persistently skip hugetlbfs pageblocks
From: David Rientjes <rientjes@google.com>
Date: 2017-09-11 01:13:38
Also in:
lkml
On Fri, 1 Sep 2017, Vlastimil Babka wrote:
The pageblock_skip_persistent() function checks for HugeTLB pages of pageblock order. When clearing pageblock skip bits for compaction, the bits are not cleared for such pageblocks, because they cannot contain base pages suitable for migration, nor free pages to use as migration targets. This optimization can be simply extended to all compound pages of order equal or larger than pageblock order, because migrating such pages (if they support it) cannot help sub-pageblock fragmentation. This includes THP's and also gigantic HugeTLB pages, which the current implementation doesn't persistently skip due to a strict pageblock_order equality check and not recognizing tail pages. Additionally, this patch removes the pageblock_skip_persistent() calls from migration and free scanner, since the generic compound page treatment together with update_pageblock_skip() call will also lead to pageblocks starting with a large enough compound page being immediately marked for skipping, which then becomes persistent.
As mentioned in my other two emails, I'm not sure that persistently skipping thp memory is necessary and I disagree that we should not be persistently skipping pageblocks when cc->ignore_skip_hint is true. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>