Re: [RFC PATCH 4/4] kernel/workqueue: Let rescuers follow unbound wq cpumask changes

From: Juri Lelli
Date: Wed Jan 17 2024 - 01:30:32 EST


Hello Lai,

On 17/01/24 11:56, Lai Jiangshan wrote:
> Hello, Juri
>
> On Wed, Jan 17, 2024 at 12:20 AM Juri Lelli <juri.lelli@xxxxxxxxxx> wrote:
>
> > + /* rescuer needs to respect wq cpumask changes */
> > + if (ctx->wq->rescuer) {
> > + set_cpus_allowed_ptr(ctx->wq->rescuer->task, ctx->attrs->cpumask);
> > + wake_up_process(ctx->wq->rescuer->task);
> > + }
> > +
>
> What's the reason to wake up the rescuer?

I believe we want to wake it up so that it can possibly be moved
"instantly" to a cpu inside its new cpumask affinity. If we don't wake
it up it might be sleeping on a cpu outside its affinity which might
have become isolated and this cpu could be affected by that wakeup if
that only happens later on when possibly the rescuer needs to perform
some work.

Does is make more sense to you?

> I support this patch except for the wakeup:
> Reviewed-by: Lai Jiangshan <jiangshanlai@xxxxxxxxx>

Thanks for looking at this!

Juri