On Fri, 4 Jun 2021 22:33:11 -0400 Tejun Heo wrote: >On Sat, Jun 05, 2021 at 09:54:21AM +0800, Hillf Danton wrote: >> The cond_resched() in cgroup_rstat_flush_locked() matches its appearence in >> your post [1]. So does unbound IMHO. > >Ah yeah, this either needs CPU_INTENSIVE or UNBOUND, prolly the latter is >better. > >> And the short stuff [2] looks to me like it is incorrect to queue a work >> acquiring mutex lock on to the system_wq. IOW the unbound wq is the right >> thing for any work that might sleep. > >This part doesn't make sense. Blocking from per-cpu workqueue is completely >fine. What's not fine is consuming a lot of CPU cycles. Thanks for the light on the per-cpu workqueue - it is difficult to understand that short stuff without it. Hillf