Messages in this thread | | | Date | Thu, 14 Dec 2023 12:25:25 +0100 | From | Juri Lelli <> | Subject | Re: [RFC PATCH 0/2] workqueue: Introduce PF_WQ_RESCUE_WORKER |
| |
On 13/12/23 08:38, Tejun Heo wrote: > On Wed, Dec 13, 2023 at 07:32:10PM +0100, Juri Lelli wrote: > > > Maybe the easiest way to do this is making rescuer_thread() restore the wq's > > > cpumask right before going to sleep, and making apply_wqattrs_commit() just > > > wake up the rescuer. > > > > Hummm, don't think we can call that either while the rescuer is actually > > running. Maybe we can simply s/kthread_bind_mask/set_cpus_allowed_ptr/ > > in the above? > > So, we have to use set_cpus_allowed_ptr() but we still don't want to change > the affinity of a rescuer which is already running a task for a pool.
But then, even today, a rescuer might keep handling work on a cpu outside its wq cpumask if the associated wq cpumask change can proceed w/o waiting for it to finish the iteration?
BTW, apologies for all the questions, but I'd like to make sure I can get the implications hopefully right. :)
Thanks, Juri
| |