Re: [LSF/MM TOPIC] wmark based pro-active compaction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/05/2017 11:27 AM, Michal Hocko wrote:
> On Thu 05-01-17 10:53:59, Vlastimil Babka wrote:
>>>> Therefore I believe we need a watermark based pro-active compaction
>>>> which would keep the background compaction busy as long as we have
>>>> less pages of the configured order.
>>
>> Again, configured by what, admin? I would rather try to avoid tunables
>> here, if possible. While THP is quite well known example with stable
>> order, the pressure for other orders is rather implementation specific
>> (drivers, SLAB/SLUB) and may change with kernel versions (e.g. virtually
>> mapped stacks, although that example is about non-costly order). Would
>> the admin be expected to study the implementation to know which orders
>> are needed, or react to page allocation failure reports? Neither sounds
>> nice.
> 
> That is a good question but I expect that there are more users than THP
> which use stable orders. E.g. networking stack tends to depend on the
> packet size. A tracepoint with some histogram output would tell us what
> is the requested orders distribution.

Maybe, but there might be also multiple users of the same order but
different "importance"...

>>>> kcompactd should wake up
>>>> periodically, I think, and check for the status so that we can catch
>>>> the fragmentation before we get low on memory.
>>>> The interface could look something like:
>>>> /proc/sys/vm/compact_wmark
>>>> time_period order count
>>
>> IMHO it would be better if the system could auto-tune this, e.g. by
>> counting high-order alloc failures/needs for direct compaction per order
>> between wakeups, and trying to bring them to zero.
> 
> auto-tunning is usually preferable I am just wondering how the admin can
> tell what is still the system load price he is willing to pay. I suspect
> we will see growing number of opportunistic high order requests over
> time and  auto tunning shouldn't try to accomodate with it without
> any bounds.There is still some cost/benefit to be evaluated from the
> system level point of view which I am afraid is hard to achive from the
> kcompactd POV.

That's why I mentioned that importance should be judged somehow.
Opportunistic requests should be recognizable by their gfp flags, so
hopefully there's a way. I wouldn't mind some general tunable(s) to
express how much effort to give to "important" allocations and
opportunistic ones, but rather not in such implementation-detail form as
"time_period order count".

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]