All of lore.kernel.org
 help / color / mirror / Atom feed
From: Damien Wyart <damien.wyart@free.fr>
To: Nick Piggin <npiggin@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Federico Cuello <fedux@lugmen.org.ar>,
	linux-kernel@vger.kernel.org,
	Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Subject: Re: [PATCH] write-back: fix break condition
Date: Tue, 10 Feb 2009 07:22:49 +0100	[thread overview]
Message-ID: <20090210062249.GA5224@localhost.localdomain> (raw)
In-Reply-To: <20090210003452.GA26143@wotan.suse.de>

* Nick Piggin <npiggin@suse.de> [2009-02-10 01:34]:
> On Mon, Feb 09, 2009 at 03:21:40PM -0800, Andrew Morton wrote:

> > Thanks, but please do cc the people who were involved with a patch when
> > you find a problem with it!

> > On Sat,  7 Feb 2009 01:33:30 -0200
> > Federico Cuello <fedux@lugmen.org.ar> wrote:

> > > Commit 673353723e7a6550625fb719059c5f31cfaecd18 fixed nr_to_write
> > > counter, but didn't set the break condition properly.

> > It's actually commit dcf6a79dda5cc2a2bec183e50d829030c0972aaa
> > ("write-back: fix nr_to_write counter").

> > > If nr_to_write == 0 after being decremented it will loop one more time
> > > before setting done = 1 and breaking the loop.

> > We prefer that patches include the author's Signed-off-by:, as per
> > Documentation/SubmittingPatches, please.


> > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> > > index bb5fa2b..9e2ae50 100644
> > > --- a/mm/page-writeback.c
> > > +++ b/mm/page-writeback.c
> > > @@ -981,20 +981,21 @@ continue_unlock:
> > >  				}
> > >   			}

> > > -			if (nr_to_write > 0)
> > > +			if (nr_to_write > 0) {
> > >  				nr_to_write--;
> > > -			else if (wbc->sync_mode == WB_SYNC_NONE) {
> > > -				/*
> > > -				 * We stop writing back only if we are not
> > > -				 * doing integrity sync. In case of integrity
> > > -				 * sync we have to keep going because someone
> > > -				 * may be concurrently dirtying pages, and we
> > > -				 * might have synced a lot of newly appeared
> > > -				 * dirty pages, but have not synced all of the
> > > -				 * old dirty pages.
> > > -				 */
> > > -				done = 1;
> > > -				break;
> > > +				if (nr_to_write == 0 && wbc->sync_mode == WB_SYNC_NONE) {
> > > +					/*
> > > +					 * We stop writing back only if we are not
> > > +					 * doing integrity sync. In case of integrity
> > > +					 * sync we have to keep going because someone
> > > +					 * may be concurrently dirtying pages, and we
> > > +					 * might have synced a lot of newly appeared
> > > +					 * dirty pages, but have not synced all of the
> > > +					 * old dirty pages.
> > > +					 */
> > > +					done = 1;
> > > +					break;
> > > +				}
> > >  			}

> > >  			if (wbc->nonblocking && bdi_write_congested(bdi)) {

> > Artem, Nick, please check?

> Yes, this looks OK by me.

> Acked-by: Nick Piggin <npiggin@suse.de>

Shouldn't this go to stable 2.6.28, too ? They have not been in Cc for
now. I think the problem was at first detected in 2.6.28.X, but it is
not yet sure if it is solved or if this interacts with some ext4
problems.

-- 
Damien Wyart

  reply	other threads:[~2009-02-10  6:24 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-07  3:33 [PATCH] write-back: fix break condition Federico Cuello
2009-02-09 23:21 ` Andrew Morton
2009-02-10  0:34   ` Nick Piggin
2009-02-10  6:22     ` Damien Wyart [this message]
2009-02-10  7:47       ` Artem Bityutskiy
2009-02-10  7:46   ` Artem Bityutskiy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090210062249.GA5224@localhost.localdomain \
    --to=damien.wyart@free.fr \
    --cc=Artem.Bityutskiy@nokia.com \
    --cc=akpm@linux-foundation.org \
    --cc=fedux@lugmen.org.ar \
    --cc=linux-kernel@vger.kernel.org \
    --cc=npiggin@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.