On Sun, Jun 19, 2011 at 11:36:37PM +0800, Christoph Hellwig wrote: > On Sun, Jun 19, 2011 at 11:01:11PM +0800, Wu Fengguang wrote: > > The start of a heavy weight application (ie. KVM) may instantly knock > > down determine_dirtyable_memory() and hence the global/bdi dirty > > thresholds. > > > > So introduce global_dirty_limit for tracking the global dirty threshold > > with policies > > > > - follow downwards slowly > > - follow up in one shot > > > > global_dirty_limit can effectively mask out the impact of sudden drop of > > dirtyable memory. It will be used in the next patch for two new type of > > dirty limits. > > This needs to be explained in more detail in comments near the actual > code. Good point! This is the added comment for the update_dirty_limit() function. /* * The global dirtyable memory and dirty threshold could be suddenly knocked * down by a large amount (eg. on the startup of KVM). This may throw the * system into deep dirty exceeded state and throttled to "death" for a couple * of seconds. The solution is to maintain global_dirty_limit for tracking * slowly down to the knocked down dirty threshold. */ static void update_dirty_limit(unsigned long thresh, unsigned long dirty) Thanks, Fengguang -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html