On Mon, May 25 2009, Jan Kara wrote: > On Mon 25-05-09 09:34:38, Jens Axboe wrote: > > This is a first step at introducing per-bdi flusher threads. We should > > have no change in behaviour, although sb_has_dirty_inodes() is now > > ridiculously expensive, as there's no easy way to answer that question. > > Not a huge problem, since it'll be deleted in subsequent patches. > > > > Signed-off-by: Jens Axboe <jens.axboe@xxxxxxxxxx> > > --- > > fs/fs-writeback.c | 196 +++++++++++++++++++++++++++--------------- > > fs/super.c | 3 - > > include/linux/backing-dev.h | 9 ++ > > include/linux/fs.h | 5 +- > > mm/backing-dev.c | 30 +++++++ > > mm/page-writeback.c | 11 +-- > > 6 files changed, 170 insertions(+), 84 deletions(-) > ... > > @@ -225,9 +231,23 @@ int bdi_register_dev(struct backing_dev_info *bdi, dev_t dev) > > } > > EXPORT_SYMBOL(bdi_register_dev); > > > > +static void bdi_remove_from_list(struct backing_dev_info *bdi) > > +{ > > + mutex_lock(&bdi_lock); > > + list_del_rcu(&bdi->bdi_list); > > + mutex_unlock(&bdi_lock); > > + > > + /* > > + * In case the bdi is freed right after unregister, we need to > > + * make sure any RCU sections have exited > > + */ > > + synchronize_rcu(); > > +} > > + > Is this RCU thing still valid? And in bdi_register_dev() as well... Not it isn't, apparently that bit didn't get killed from the intermedia steps. The final version doesn't contain any RCU for bdi_list/bdi_pending_list. I'll shuffle this back as well, thanks for noticing! -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html