Web lists-archives.com

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




On Thu, 12 Oct 2017, Peter Zijlstra 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.
> 

+1, I originally introduced PF_THREAD_BOUND to cpusets in 2008 to prevent 
migration threads and software watchdog threads from being able to access 
the cpus they work on.  We also move unbound kthreads to a system cpuset.