lkml.org 
[lkml]   [2009]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 03/12] writeback: move dirty inodes from super_block to backing_dev_info
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@oracle.com>
> > ---
> > 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



\
 
 \ /
  Last update: 2009-05-25 10:53    [W:0.085 / U:0.696 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site