Re: [PATCH 4/4] mm: vmscan: If kswapd has been running too long,allow it to sleep

From: Minchan Kim
Date: Wed May 18 2011 - 01:44:54 EST

On Wed, May 18, 2011 at 10:05 AM, KOSAKI Motohiro
<kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
>> It would be better to put cond_resched after balance_pgdat?
>> diff --git a/mm/vmscan.c b/mm/vmscan.c
>> index 292582c..61c45d0 100644
>> --- a/mm/vmscan.c
>> +++ b/mm/vmscan.c
>> @@ -2753,6 +2753,7 @@ static int kswapd(void *p)
>> Â Â Â Â Â Â Â Â if (!ret) {
>> Â Â Â Â Â Â Â Â Â Â Â Â trace_mm_vmscan_kswapd_wake(pgdat->node_id,
>> order);
>> Â Â Â Â Â Â Â Â Â Â Â Â order = balance_pgdat(pgdat,
>> order,&classzone_idx);
>> + Â Â Â Â Â Â Â Â Â Â Â cond_resched();
>> Â Â Â Â Â Â Â Â }
>> Â Â Â Â }
>> Â Â Â Â return 0;
>>>>> While it appears unlikely, there are bad conditions which can result
>>> in cond_resched() being avoided.
> Every reclaim priority decreasing or every shrink_zone() calling makes more
> fine grained preemption. I think.

It could be.
But in direct reclaim case, I have a concern about losing pages
reclaimed to other tasks by preemption.

Hmm,, anyway, we also needs test.
Hmm,, how long should we bother them(Colins and James)?
First of all, Let's fix one just between us and ask test to them and
send the last patch to akpm.

1. shrink_slab
2. right after balance_pgdat
3. shrink_zone
4. reclaim priority decreasing routine.

Now, I vote 1) and 2).

Kind regards,
Minchan Kim
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at