On Thu, 3 Jun 2021 18:56:40 -0700 Shakeel Butt wrote: > > +static void flush_memcg_stats(struct work_struct *w) > +{ > + cgroup_rstat_flush(root_mem_cgroup->css.cgroup); > + schedule_delayed_work(&stats_flush, round_jiffies(2UL*HZ)); > +} Given flush may block, the unbound wq is what you need. queue_delayed_work(system_unbound_wq, &stats_flush, 2 * HZ);