lkml.org 
[lkml]   [2015]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [RFC v2 0/4] Outsourcing compaction for THP allocations to kcompactd
From
Date
On 07/24/2015 04:22 PM, Rik van Riel wrote:
> On 07/02/2015 04:46 AM, Vlastimil Babka wrote:
>> This RFC series is another evolution of the attempt to deal with THP
>> allocations latencies. Please see the motivation in the previous version [1]
>>
>> The main difference here is that I've bitten the bullet and implemented
>> per-node kcompactd kthreads - see Patch 1 for the details of why and how.
>> Trying to fit everything into khugepaged was getting too clumsy, and kcompactd
>> could have more benefits, see e.g. the ideas here [2]. Not everything is
>> implemented yet, though, I would welcome some feedback first.
>
> This leads to a few questions, one of which has an obvious answer.
>
> 1) Why should this functionality not be folded into kswapd?
>
> (because kswapd can get stuck on IO for long periods of time)

Hm, my main concern was somewhat opposite - kswapd primarily serves to
avoid direct reclaim (also for) order-0 allocations, so we don't want to
make it busy compacting for high-order allocations and then fail to
reclaim quickly enough.
Also the waking up of kswapd for all the distinct tasks would become
more complex.

Also does kswapd really get stuck on IO? Doesn't it just issue writeback
and go on? Again it would be the opposite concern, as sync compaction
may have to wait for writeback before migrating a page and blocking
kswapd on that wouldn't be nice.

> 2) Given that kswapd can get stuck on IO for long periods of
> time, are there other tasks we may want to break out of
> kswapd, in order to reduce page reclaim latencies for things
> like network allocations?
>
> (freeing clean inactive pages?)
>



\
 
 \ /
  Last update: 2015-07-27 11:41    [W:0.126 / U:0.360 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site