Re: [PATCH 4/7] writeback: use RCU to protect bdi_list

Jens Axboe
2009-09-14T11:11:20Z

On Mon, Sep 14 2009, Minchan Kim wrote:
> On Mon, 14 Sep 2009 11:36:31 +0200
> Jens Axboe <jens.axboe@oracle.com> wrote:
>
> > Now that bdi_writeback_all() no longer handles integrity writeback,
> > it doesn't have to block anymore. This means that we can switch
> > bdi_list reader side protection to RCU.
> >
> > Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
> > ---
> > fs/fs-writeback.c | 4 +-
> > include/linux/backing-dev.h | 1 +
> > mm/backing-dev.c | 76 +++++++++++++++++++++++++++++++------------
> > mm/page-writeback.c | 8 ++--
> > 4 files changed, 62 insertions(+), 27 deletions(-)
> >
> > diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
> > index 5d4bd1c..d7592c7 100644
> > --- a/fs/fs-writeback.c
> > +++ b/fs/fs-writeback.c
> > @@ -849,7 +849,7 @@ static void bdi_writeback_all(struct writeback_control *wbc)
> >
> > WARN_ON(wbc->sync_mode == WB_SYNC_ALL);
> >
> > - spin_lock(&bdi_lock);
> > + rcu_read_lock();
> >
> > list_for_each_entry(bdi, &bdi_list, bdi_list) {
>
> list_for_each_entry_rcu?

Indeed, pretty silly. Thanks!

--
Jens Axboe