From: Jens Axboe <jens.axboe@oracle.com>
To: Jan Kara <jack@suse.cz>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
chris.mason@oracle.com, david@fromorbit.com, hch@infradead.org,
tytso@mit.edu, akpm@linux-foundation.org
Subject: Re: [PATCH 3/8] writeback: switch to per-bdi threads for flushing data v2
Date: Mon, 7 Sep 2009 20:45:18 +0200 [thread overview]
Message-ID: <20090907184517.GF18599@kernel.dk> (raw)
In-Reply-To: <20090907183659.GB29103@duck.suse.cz>
On Mon, Sep 07 2009, Jan Kara wrote:
> Hi Jens,
>
> now I've found just two minor things (see below). Besides them the only
> thing which is blocking my ack is a way to effectively lookup a BDI from a
> superblock so that we can reasonably effectively fsync a superblock...
Can we side step that as an inclusion criteria, please? I'd really like
to work on adding that quick lookup, but I'd also hate to potentiall
destabilize anything at this point. So we can probably quite easily make
.32 as well for that, but I'd rather not risk doing a version and
include that from the beginning. OK?
> > + /*
> > + * Check for periodic writeback, kupdated() style
> > + */
> > + if (!wrote)
> > + wrote = wb_check_old_data_flush(wb);
> Why is here the !wrote check? It would feel safer if we just did
> wrote += wb_check_old_data_flush(wb);
> Otherwise we cannot guarantee syncing of inodes every writeback_interval.
Yes good point, that check should not be there or the logic is still
broken wrt old data flushing. Will fix that, thanks!
> > + /*
> > + * If work allocation fails, do the writes inline. We drop
> > + * the lock and restart the list writeout. This should be OK,
> > + * since this happens rarely and because the writeout should
> > + * eventually make more free memory available.
> > + */
> > + work = bdi_alloc_work(wbc);
> > + if (!work) {
> > + struct writeback_control __wbc = *wbc;
> >
> > - cond_resched();
> > + /*
> > + * Not a data integrity writeout, just continue
> > + */
> > + if (!must_wait)
> > + continue;
> >
> > - spin_lock(&inode_lock);
> > + spin_unlock(&bdi_lock);
> > + __wbc = *wbc;
> You initialize the variable twice...
Indeed, the latter should just go. Good spotting, fixed.
--
Jens Axboe
next prev parent reply other threads:[~2009-09-07 18:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-04 7:46 [PATCH 0/8] Per-bdi writeback flusher threads v18 Jens Axboe
2009-09-04 7:46 ` [PATCH 1/8] writeback: get rid of generic_sync_sb_inodes() export Jens Axboe
2009-09-04 8:28 ` Jan Kara
2009-09-04 11:59 ` Jens Axboe
2009-09-04 7:46 ` [PATCH 2/8] writeback: move dirty inodes from super_block to backing_dev_info Jens Axboe
2009-09-04 7:46 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data Jens Axboe
2009-09-04 10:54 ` Jan Kara
2009-09-04 11:58 ` Jens Axboe
2009-09-04 12:04 ` [PATCH 3/8] writeback: switch to per-bdi threads for flushing data v2 Jens Axboe
2009-09-04 12:06 ` Jens Axboe
2009-09-07 18:36 ` Jan Kara
2009-09-07 18:45 ` Jens Axboe [this message]
2009-09-07 19:45 ` Jan Kara
2009-09-07 19:50 ` Jens Axboe
2009-09-04 7:46 ` [PATCH 4/8] writeback: get rid of pdflush completely Jens Axboe
2009-09-04 7:46 ` [PATCH 5/8] writeback: add some debug inode list counters to bdi stats Jens Axboe
2009-09-04 7:46 ` [PATCH 6/8] writeback: add name to backing_dev_info Jens Axboe
2009-09-04 7:46 ` [PATCH 7/8] writeback: check for registered bdi in flusher add and inode dirty Jens Axboe
2009-09-04 7:46 ` [PATCH 8/8] vm: Add an tuning knob for vm.max_writeback_mb Jens Axboe
2009-09-04 15:28 ` Richard Kennedy
2009-09-05 13:26 ` Jamie Lokier
2009-09-05 16:18 ` Richard Kennedy
2009-09-05 16:46 ` Theodore Tso
2009-09-07 19:09 ` Jan Kara
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=20090907184517.GF18599@kernel.dk \
--to=jens.axboe@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=chris.mason@oracle.com \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).