[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110621165905.3c7180a4.akpm@linux-foundation.org>
Date: Tue, 21 Jun 2011 16:59:05 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Wu Fengguang <fengguang.wu@...el.com>
Cc: Christoph Hellwig <hch@...radead.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
Jan Kara <jack@...e.cz>, Dave Chinner <david@...morbit.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 3/7] writeback: introduce smoothed global dirty limit
On Sun, 19 Jun 2011 23:55:47 +0800
Wu Fengguang <fengguang.wu@...el.com> wrote:
> 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)
>
Neither this nor the changelog explain things well.
Looking at the code, KVM starts, allocates memory,
global_page_state(NR_FREE_PAGES) decreases by N and
global_reclaimable_pages() increases by N. Nothing changed.
So what's going on here?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists