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

From: Tejun Heo
Date: Wed Mar 21 2018 - 13:54:06 EST


Hello,

On Wed, Mar 21, 2018 at 06:17:43PM +0100, Oleg Nesterov wrote:
> Mostly I am asking because I do not really understand
> "[PATCH 6/8] RCU, workqueue: Implement rcu_work".
>
> I mean, the code looks simple and correct but why does it play with
> WORK_STRUCT_PENDING_BIT? IOW, I do not see a "good" use-case when 2 or more
> queue_rcu_work()'s can use the same rwork and hit work_pending() == T. And
> what the caller should do if queue_rcu_work() returns false?

It's just following standard workqueue conventions. We can try to
make it more specialized but then flush_rcu_work()'s behavior would
have to different too and it gets confusing quickly. Unless there are
overriding reasons to deviate, I'd like to keep it consistent.

Thanks.

--
tejun