Thread (15 messages) 15 messages, 3 authors, 2017-09-11

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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help