On Thu, May 28, 2020 at 12:54:42PM -0700, Suren Baghdasaryan wrote: > Each psi group requires a dedicated kthread_delayed_work and > kthread_worker. Since no other work can be performed using psi_group's > kthread_worker, the same result can be obtained using a task_struct and > a timer directly. This makes psi triggering simpler by removing lists > and locks involved with kthread_worker usage and eliminates the need for > poll_scheduled atomic use in the hot path. > > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx> > --- > This patch is meant to address Peter's request in [1] to pull > kthread_queue_delayed_work() out from under rq->lock. This should also address > the lockdep warning about possibility of a circular dependency described in [2] I think you could've just fixed kthread_queue_delayed_work(), that code is sub-optimal. But I suppose this works too.