On Fri, Oct 29, 2010 at 12:40:02PM -0700, Andrew Morton wrote: > > ... > > > > Follow-on patch? > > Sometime, please. > How does this look? ==== CUT HERE ==== mm: vmscan: Comment on why kswapd reduces the per-cpu vmstat threshold While kswapd is awake, the per-cpu vmstat threshold is reduced to reduce per-cpu drift to acceptable levels. Add a comment explaining why. Signed-off-by: Mel Gorman <mel@xxxxxxxxx> --- mm/vmscan.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 7966110..ba39948 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -2378,6 +2378,19 @@ static int kswapd(void *p) */ if (!sleeping_prematurely(pgdat, order, remaining)) { trace_mm_vmscan_kswapd_sleep(pgdat->node_id); + + /* + * vmstat counters are not perfectly + * accurate and the estimated value + * for counters such as NR_FREE_PAGES + * can deviate from the true value by + * nr_online_cpus * threshold. To + * avoid the zone watermarks being + * breached while under pressure, we + * reduce the per-cpu vmstat threshold + * while kswapd is awake and restore + * them before going back to sleep. + */ set_pgdat_percpu_threshold(pgdat, calculate_normal_threshold); schedule(); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>