Re: [RFC 1/2] cgroup, kthread: do not allow moving kthreads out of the root cgroup
- Date: Thu, 12 Oct 2017 14:57:29 -0700 (PDT)
- From: David Rientjes <rientjes@xxxxxxxxxx>
- Subject: 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.