On Tue 22-08-23 08:30:05, Yosry Ahmed wrote: > On Tue, Aug 22, 2023 at 2:06 AM Michal Hocko <mhocko@xxxxxxxx> wrote: > > > > On Mon 21-08-23 20:54:58, Yosry Ahmed wrote: [...] > So to answer your question, I don't think a random user can really > affect the system in a significant way by constantly flushing. In > fact, in the test script (which I am now attaching, in case you're > interested), there are hundreds of threads that are reading stats of > different cgroups every 1s, and I don't see any negative effects on > in-kernel flushers in this case (reclaimers). I suspect you have missed my point. Maybe I am just misunderstanding the code but it seems to me that the lock dropping inside cgroup_rstat_flush_locked effectivelly allows unbounded number of contenders which is really dangerous when it is triggerable from the userspace. The number of spinners at a moment is always bound by the number CPUs but depending on timing many potential spinners might be cond_rescheded and the worst time latency to complete can be really high. Makes more sense? -- Michal Hocko SUSE Labs