All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@infradead.org>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	chris.mason@oracle.com, tytso@mit.edu, akpm@linux-foundation.org,
	trond.myklebust@fys.uio.no
Subject: Re: [PATCH 6/7] writeback: separate starting of sync vs opportunistic writeback
Date: Tue, 15 Sep 2009 11:14:02 +0200	[thread overview]
Message-ID: <20090915091402.GG23126@kernel.dk> (raw)
In-Reply-To: <20090915090847.GA12169@duck.suse.cz>

On Tue, Sep 15 2009, Jan Kara wrote:
> On Mon 14-09-09 21:42:43, Jens Axboe wrote:
> > On Mon, Sep 14 2009, Jens Axboe wrote:
> > > On Mon, Sep 14 2009, Christoph Hellwig wrote:
> > > > On Mon, Sep 14, 2009 at 03:33:07PM +0200, Jan Kara wrote:
> > > > > On Mon 14-09-09 11:36:33, Jens Axboe wrote:
> > > > > > bdi_start_writeback() is currently split into two paths, one for
> > > > > > WB_SYNC_NONE and one for WB_SYNC_ALL. Add bdi_sync_writeback()
> > > > > > for WB_SYNC_ALL writeback and let bdi_start_writeback() handle
> > > > > > only WB_SYNC_NONE.
> > > > >   What I don't like about this patch is that if somebody sets up
> > > > > writeback_control with WB_SYNC_ALL mode set and then submits it to disk via
> > > > > bdi_start_writeback() it will just silently convert his writeback to an
> > > > > asynchronous one.
> > > > >   So I'd maybe leave setting of sync_mode to the caller and just WARN_ON if
> > > > > it does not match the purpose of the function...
> > > > 
> > > > Or initialize the wb entirely inside these functions.  For the sync case
> > > > we really only need a superblock as argument, and for writeback it's
> > > > bdi + nr_pages.  And also make sure they consistenly return void as
> > > > no one cares about the return value.
> > > 
> > > Yes, I thought about doing that and like that better than the warning.
> > > Just pass in the needed args and allocate+fill the wbc on stack. I'll
> > > make that change.
> > 
> > That works out much better, imho:
> > 
> > http://git.kernel.dk/?p=linux-2.6-block.git;a=commit;h=270c12655d7d11e234d335a8ab0540c02c034b66
>   Yeah, the code looks better. BTW, how about converting also
> bdi_writeback_all() to get superblock and nr_pages as an argument?
> Currently it seems to be the only place "above" flusher thread which uses
> wbc and it's just constructed in the callers of bdi_writeback_all() and
> then disassembled inside the function...

Yes good point, I'll include that too. Thanks!

-- 
Jens Axboe


  reply	other threads:[~2009-09-15  9:14 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-14  9:36 [PATCH 0/7] Post merge per-bdi writeback patches v2 Jens Axboe
2009-09-14  9:36 ` [PATCH 1/7] writeback: merely wakeup flusher thread if work allocation fails for WB_SYNC_NONE Jens Axboe
2009-09-14 12:34   ` Jan Kara
2009-09-14 12:39     ` Jens Axboe
2009-09-14 13:19       ` Christoph Hellwig
2009-09-14  9:36 ` [PATCH 2/7] Assign bdi in super_block Jens Axboe
2009-09-14 13:02   ` Jan Kara
2009-09-14 18:25     ` Trond Myklebust
2009-09-14 18:36       ` Jens Axboe
2009-09-15 10:14         ` Jan Kara
2009-09-15 10:22           ` Jens Axboe
2009-09-15 13:16           ` Trond Myklebust
2009-09-14  9:36 ` [PATCH 3/7] writeback: only use bdi_writeback_all() for WB_SYNC_NONE writeout Jens Axboe
2009-09-14 13:12   ` Jan Kara
2009-09-14  9:36 ` [PATCH 4/7] writeback: use RCU to protect bdi_list Jens Axboe
2009-09-14 11:10   ` Minchan Kim
2009-09-14 11:11     ` Jens Axboe
2009-09-14  9:36 ` [PATCH 5/7] writeback: inline allocation failure handling in bdi_alloc_queue_work() Jens Axboe
2009-09-14 13:13   ` Jan Kara
2009-09-14  9:36 ` [PATCH 6/7] writeback: separate starting of sync vs opportunistic writeback Jens Axboe
2009-09-14 13:33   ` Jan Kara
2009-09-14 13:42     ` Christoph Hellwig
2009-09-14 19:28       ` Jens Axboe
2009-09-14 19:42         ` Jens Axboe
2009-09-15  9:08           ` Jan Kara
2009-09-15  9:14             ` Jens Axboe [this message]
2009-09-15 11:44               ` Jens Axboe
2009-09-15 12:58                 ` Jan Kara
2009-09-15 13:04                   ` Jens Axboe
2009-09-15 13:08                     ` Christoph Hellwig
2009-09-15 13:17                       ` Jens Axboe
2009-09-15 14:01                       ` Jan Kara
2009-09-15 14:09                         ` Chris Mason
2009-09-14  9:36 ` [PATCH 7/7] writeback: splice dirty inode entries to default bdi on bdi_destroy() Jens Axboe
2009-09-14 10:56   ` Jens Axboe

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=20090915091402.GG23126@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=chris.mason@oracle.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=trond.myklebust@fys.uio.no \
    --cc=tytso@mit.edu \
    /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.