On Fri, Jun 24, 2011 at 11:44 PM, Mel Gorman <mgorman@xxxxxxx> 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. > > When kswapd applies pressure to zones during node balancing, it checks > if the zone is above a high+balance_gap threshold. If it is, it does > not apply pressure but it unconditionally shrinks slab on a global > basis which is excessive. In the event kswapd is being kept awake due to > a high small unreclaimable zone, it skips zone shrinking but still > calls shrink_slab(). > > Once pressure has been applied, the check for zone being unreclaimable > is being made before the check is made if all_unreclaimable should be > set. This miss of unreclaimable can cause has_under_min_watermark_zone > to be set due to an unreclaimable zone preventing kswapd backing off > on congestion_wait(). > > Reported-and-tested-by: Pádraig Brady <P@xxxxxxxxxxxxxx> > Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx> It does make sense. -- Kind regards, Minchan Kim -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href