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

From: Peter Zijlstra
Date: Thu Oct 12 2017 - 15:24:57 EST


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.