[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180329164925.GA7175@redhat.com>
Date: Thu, 29 Mar 2018 18:49:25 +0200
From: Oleg Nesterov <oleg@...hat.com>
To: Tejun Heo <tj@...nel.org>
Cc: torvalds@...ux-foundation.org, jannh@...gle.com,
paulmck@...ux.vnet.ibm.com, bcrl@...ck.org,
viro@...iv.linux.org.uk, kent.overstreet@...il.com,
security@...nel.org, linux-kernel@...r.kernel.org,
kernel-team@...com
Subject: Re: [PATCH 8/8] fs/aio: Use rcu_work instead of explicit rcu and
work item
On 03/27, Tejun Heo wrote:
>
> On Tue, Mar 27, 2018 at 04:28:48PM +0200, Oleg Nesterov wrote:
> > > flush_*work() guarantees to wait for the completion of the latest
> > > instance of the work item which was visible to the caller. We can't
> > > guarantee that w/o rcu_barrier().
> >
> > And this is what I can't understand.
> >
> > So let me repeat. Could you please describe a use-case which needs flush_rcuwork()
> > with rcu_barrier() ?
>
> So, if you skip that, flush_work() in itself won't wait for PENDING
> bit at all. It'll return right away if the work item is waiting for
> rcu grace period.
Still no use-case... But yes, I forgot this is needed for correctness.
OK, thanks for your patience. But fyi now I hate this interface even more,
exactly because I was technically wrong in this discussion ;)
Oleg.
Powered by blists - more mailing lists