Re: [PATCH v2 rcu 13/16] workqueue: Make queue_rcu_work() use call_rcu_flush()

From: Tejun Heo
Date: Mon Nov 21 2022 - 20:38:05 EST


On Mon, Nov 21, 2022 at 05:23:57PM -0800, Paul E. McKenney wrote:
> On Mon, Nov 21, 2022 at 03:09:29PM -1000, Tejun Heo wrote:
> > On Mon, Nov 21, 2022 at 05:04:18PM -0800, Paul E. McKenney wrote:
> > > And another call_rcu() instance that cannot be lazy is the one
> > > in queue_rcu_work(), given that callers to queue_rcu_work() are
> > > not necessarily OK with long delays.
> >
> > So, this is fine but another thing we can do is propagating the distinction
> > through the workqueue interface so that the the choice can be made by
> > workqueue users. Would that make sense?
>
> It might well! My thought was to wait to suggest that until we found a
> real-life case where this was needed, but I have no objection to being
> proactive here.

Oh yeah, I'm completely fine either way too.

> But the hard part... Thought for a good name? ;-)

If we go with a separate interface, yeah, _flush would be confusing for
workqueue. Maybe _quick or _hurry? Hmm... it'd be nice to keep the suffix
consistent with RCU. What's the relationship with
synchronize_rcu_expedited()? Would using _expedited be confusing?

Thanks.

--
tejun