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

From: Paul E. McKenney
Date: Mon Nov 21 2022 - 20:52:15 EST


On Mon, Nov 21, 2022 at 03:37:56PM -1000, Tejun Heo wrote:
> 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?

I expect that _expedited() would be because this has nothing whatever
to do with expedited grace periods.

Maybe we should have used call_rcu_hurry()?

What is in a name? ;-)

Thanx, Paul