Re: [RFC 1/2] cgroup, kthread: do not allow moving kthreads out of the root cgroup

From: Roman Gushchin
Date: Thu Oct 12 2017 - 17:48:44 EST


On Thu, Oct 12, 2017 at 09:24:45PM +0200, Peter Zijlstra wrote:
> On Thu, Oct 12, 2017 at 06:37:22PM +0100, Roman Gushchin wrote:
> > Attaching kernel threads to a non-root cgroup is generally a bad
> > idea. Kernel threads are generally performing the work required
> > to keep the system working and healthy, and applying various
> > resource limits may affect system stability and performance.
> >
> > Some examples of dangerous behavior are limiting CPU time available
> > to rcu stuff, memory limits applied to almost all kthreads, etc.
> >
> > To prevent this dangerous behavior, let's deny all kthread
> > movements between cgroups. Right now only kthreads bounded
> > to CPUs are not allowed to move, which is not sufficient.
> >
> > If there are examples of kthreads which can be limited,
> > and it's guaranteed to be safe, we can allow explicit
> > exceptions further.
>
> The traditional use-case is stuffing all the unbound kthreads into a
> system cpuset in order to limit 'crap' on the rest of the CPUs.
> This setup is typically found in HPC and RT environments.
>
> So NAK. This needs to stay working in as far as it still works.

Ok, thanks!