Re: [PATCH v4 1/3] workqueue: split kick_pool() into kick_pool_pick() + wake_up_q()

From: Breno Leitao

Date: Thu Jun 25 2026 - 12:52:30 EST


On Wed, Jun 24, 2026 at 08:46:59AM -1000, Tejun Heo wrote:
> On Wed, Jun 24, 2026 at 04:47:39AM -0700, Breno Leitao wrote:
> > + wake_q_add(wakeq, p);
>
> This is two extra atomic ops for every work item scheduling. This isn't
> necessarily a deal braker but is this the only way to do this?
>
> Can't you just stash the task pointer, extend irq disabled region and wake under rcu
> protection?

Agreed, that's a better approach. Thanks for the suggestion.

I have a working PoC implementing this. I'll clean it up and post an
updated series.

Thanks,
--breno