Re: Cache Allocation Technology Design

Tejun Heo
2014-10-30T15:25:08Z

Hello, Peter.

On Thu, Oct 30, 2014 at 02:19:04PM +0100, Peter Zijlstra wrote:
> On Thu, Oct 30, 2014 at 08:44:40AM -0400, Tejun Heo wrote:
> > On Thu, Oct 30, 2014 at 08:14:24AM +0100, Peter Zijlstra wrote:
> > > On Thu, Oct 30, 2014 at 08:07:25AM +0100, Peter Zijlstra wrote:
> > > > > and always allow execution of member tasks.
> > >
> > > This too btw is not strictly speaking possible for all controllers. Most
> > > all sched controllers live by the grace of forcing tasks not to run at
> > > times (eg. the bandwidth controls), falsifying the 'always'.
> >
> > Oh sure, the a task just has to run in a foreseeable future, or
> > rather, a task must not be blocked indefinitely requiring userland
> > intervention to become executable again.
>
> Like the freezer cgroup you mean? ;-)

Oh yeah, that's horribly broken. Merging it with jobctl stop is a
todo item. This "stuck in a random place in kernel" thing made sense
for suspend/hibernation only because the kernel wasn't gonna run
anymore. The fact that this got exposed to userland on a running
system just shows how little we were thinking while implementing all
the controllers. It should be equivalent to layered job control stop
so that what's prevented from running is the userland part, not
kernel.

Thanks.

--
tejun