Re: [PATCH 2/2] sched: Distangle worker accounting from rq lock

Tejun Heo
2019-04-08T19:45:10Z

Hello,

On Wed, Mar 13, 2019 at 05:55:48PM +0100, Sebastian Andrzej Siewior wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
>
> The worker accounting for CPU bound workers is plugged into the core
> scheduler code and the wakeup code. This is not a hard requirement and
> can be avoided by keeping track of the state in the workqueue code
> itself.
>
> Keep track of the sleeping state in the worker itself and call the
> notifier before entering the core scheduler. There might be false
> positives when the task is woken between that call and actually
> scheduling, but that's not really different from scheduling and being
> woken immediately after switching away. When nr_running is updated when
> the task is retunrning from schedule() then it is later compared when it
> is done from ttwu().
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Daniel Bristot de Oliveira <bristot@redhat.com>
> Link: http://lkml.kernel.org/r/20110622174919.135236139@linutronix.de
> Link: http://lkml.kernel.org/r/ad2b29b5715f970bffc1a7026cabd6ff0b24076a.1532952814.git.bristot@redhat.com
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> [bigeasy: preempt_disable() around wq_worker_sleeping() by Daniel Bristot de
> Oliveira]
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>

This looks good from wq side. Peter, are you okay with routing this
through the wq tree? If you wanna take it through the sched tree,
please feel free to add

Acked-by: Tejun Heo <tj@kernel.org>

Thanks.

--
tejun