Messages in this thread |  | | Date | Wed, 20 Jul 2011 01:09:03 +0900 | | From | Minchan Kim <> | | Subject | Re: [PATCH 4/4] mm: vmscan: Only read new_classzone_idx from pgdat when reclaiming successfully |
| |
Hi Mel,
Too late review. At that time, I had no time to look into this patch.
On Fri, Jun 24, 2011 at 03:44:57PM +0100, Mel Gorman wrote: > During allocator-intensive workloads, kswapd will be woken frequently > causing free memory to oscillate between the high and min watermark. > This is expected behaviour. Unfortunately, if the highest zone is > small, a problem occurs. > > When balance_pgdat() returns, it may be at a lower classzone_idx than > it started because the highest zone was unreclaimable. Before checking
Yes.
> if it should go to sleep though, it checks pgdat->classzone_idx which > when there is no other activity will be MAX_NR_ZONES-1. It interprets
Yes.
> this as it has been woken up while reclaiming, skips scheduling and
Hmm. I can't understand this part. If balance_pgdat returns lower classzone and there is no other activity, new_classzone_idx is always MAX_NR_ZONES - 1 so that classzone_idx would be less than new_classzone_idx. It means it doesn't skip scheduling.
Do I miss something?
-- Kinds regards, Minchan Kim
|  |