Re: [PATCH 8/8] fs/aio: Use rcu_work instead of explicit rcu and work item

From: Oleg Nesterov
Date: Thu Mar 29 2018 - 12:49:34 EST


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.