On Wed, 29 Sep 2010, Shaohua Li wrote: > > diff --git a/mm/vmstat.c b/mm/vmstat.c > > --- a/mm/vmstat.c > > +++ b/mm/vmstat.c > > @@ -154,7 +154,7 @@ static void refresh_zone_stat_thresholds(void) > > tolerate_drift = low_wmark_pages(zone) - min_wmark_pages(zone); > > max_drift = num_online_cpus() * threshold; > > if (max_drift > tolerate_drift) > > - zone->percpu_drift_mark = high_wmark_pages(zone) + > > + zone->percpu_drift_mark = low_wmark_pages(zone) + > > max_drift; > > } > > } > I'm afraid not. I tried Christoph's patch, which doesn't help. > in that patch, the threshold = 6272/2 = 3136. and the percpu_drift_mark > is 3136 + 2161 < 8073 > I think my patch is conceptually correct based on the real risk that Mel was describing. With Christoph's patch the threshold would have been 49 (max_drift is 3136), which would also increase the the cacheline bounce for zone_page_state_add(), but the penalty of zone_page_state_snapshot() is probably much higher. -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>