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. -- tejun