Re: [PATCH 3/5] writeback: fix dirtied pages accounting onsub-page writes

From: Wu Fengguang
Date: Mon Nov 28 2011 - 08:51:55 EST


Jan,

On Tue, Nov 22, 2011 at 01:21:57PM +0100, Jan Kara wrote:
> On Tue 22-11-11 17:21:11, Wu Fengguang wrote:
> > On Tue, Nov 22, 2011 at 08:11:27AM +0800, Jan Kara wrote:
> > > On Mon 21-11-11 21:03:45, Wu Fengguang wrote:
> > > > When dd in 512bytes, generic_perform_write() calls
> > > > balance_dirty_pages_ratelimited() 8 times for the same page, but
> > > > obviously the page is only dirtied once.
> > > >
> > > > Fix it by accounting nr_dirtied at page dirty time.
> > > Well, but after this change, the interface balance_dirty_ratelimited_nr()
> > > is strange because the argument is only used for per-CPU ratelimiting and
> > > not for per-task ratelimiting...
> >
> > Yeah I was vaguely aware of this... and still choose to ignore this
> > since the patchset looked already forbiddingly large at the time ;)
> >
> > > So if you do this switch then I'd also
> > > switch bdp_ratelimits to get consistent results and a clean interface and
> > > completely kill balance_dirty_pages_ratelimited_nr().
> >
> > Following your suggestions to change ratelimiting as well :)
> >
> > I'll do the interface change with a standalone patch.
> OK.

It looks worthwhile to consider a better scheme to reduce calls into
balance_dirty_pages_ratelimited_nr() before doing the interface
change. Currently that function is called on every page in
generic_perform_write().

I have no clear idea for now, so would like to delay the interface
change (after this patch).

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/