[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFzKrUdOV1RU+H4iOXkiCh+CoGmS1pvCP9Rybn8tTgWang@mail.gmail.com>
Date: Wed, 13 Jun 2018 07:55:32 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Jan Kara <jack@...e.cz>
Cc: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
Tejun Heo <tj@...nel.org>, Dmitry Vyukov <dvyukov@...gle.com>,
Jens Axboe <axboe@...nel.dk>,
syzbot+4a7438e774b21ddd8eca@...kaller.appspotmail.com,
syzkaller-bugs@...glegroups.com,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Al Viro <viro@...iv.linux.org.uk>,
Dave Chinner <david@...morbit.com>,
linux-block <linux-block@...r.kernel.org>
Subject: Re: [PATCH] bdi: Fix another oops in wb_workfn()
On Wed, Jun 13, 2018 at 7:46 AM Jan Kara <jack@...e.cz> wrote:
>
> On Wed 13-06-18 19:43:47, Tetsuo Handa wrote:
> > Can't we utilize RCU grace period (like shown below) ?
>
> Honestly, the variant 1 looks too ugly to me. However variant 2 looks
> mostly OK.
The versions that don't have that conditional locking look fine to me, yes.
> Also I'd avoid the addition argument to wb_writeback() and split the function instead. The
> patch resulting from your and mine ideas is attached. Thoughts?
Is there a reason for this model:
+ if (cgwb_start_shutdown(wb))
+ __wb_shutdown(wb);
when there is just one call site of this? Why not just make the
function void, and make it do that __wb_shutdown() itself in the true
case?
IOW, just make it be
+ cgwb_shutdown(wb);
instead?
That's what "wb_shutdown()" does - it does the "wb_start_shutdown()"
test internally, and does __wb_shutdown() all inside itself, instead
of expecting the caller to do it.
I dunno.
Linus
Linus
Powered by blists - more mailing lists