[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1334738287.5542.67.camel@marge.simpson.net>
Date: Wed, 18 Apr 2012 10:38:07 +0200
From: Mike Galbraith <efault@....de>
To: Yong Zhang <yong.zhang0@...il.com>
Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>,
LKML <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...hat.com>
Subject: Re: RFC [patch] sched,cgroup_sched: convince RT_GROUP_SCHED
throttle to work
On Wed, 2012-04-18 at 15:48 +0800, Yong Zhang wrote:
> On Wed, Apr 18, 2012 at 08:27:50AM +0200, Mike Galbraith wrote:
> > On Wed, 2012-04-18 at 13:20 +0800, Yong Zhang wrote:
> >
> > > > --- a/kernel/sched/core.c
> > > > +++ b/kernel/sched/core.c
> > > > @@ -5875,6 +5875,11 @@ cpu_attach_domain(struct sched_domain *s
> > > > sd->child = NULL;
> > > > }
> > > >
> > > > + if (sd)
> > > > + cpumask_clear_cpu(cpu, cpu_isolated_map);
> > > > + else
> > > > + cpumask_set_cpu(cpu, cpu_isolated_map);
> > > > +
> > >
> > > Do we allow this?
> >
> > Yeah, isolating CPUS 2-3...
>
> Hmm...magic cpuset ;-)
The _only_ cpuset if you have a low jitter requirement.
> > [ 3011.444345] CPU0 attaching NULL sched-domain.
> > [ 3011.448719] CPU1 attaching NULL sched-domain.
> > [ 3011.453107] CPU2 attaching NULL sched-domain.
> > [ 3011.457466] CPU3 attaching NULL sched-domain.
> > [ 3011.461892] CPU0 attaching sched-domain:
> > [ 3011.465813] domain 0: span 0-1 level MC
> > [ 3011.469761] groups: 0 1
> > [ 3011.472415] CPU1 attaching sched-domain:
> > [ 3011.476333] domain 0: span 0-1 level MC
> > [ 3011.480266] groups: 1 0
> > [ 3011.482988] CPU2 attaching sched-domain:
> > [ 3011.486919] domain 0: span 2-3 level MC
> > [ 3011.490851] groups: 2 3
> > [ 3011.493502] CPU3 attaching sched-domain:
> > [ 3011.497422] domain 0: span 2-3 level MC
> > [ 3011.501367] groups: 3 2
> > [ 3011.504214] CPU2 attaching NULL sched-domain.
> > [ 3011.508569] CPU3 attaching NULL sched-domain.
>
> But another scenario comes into head:
> What will happen when a rt_rq is throttled the very CPU is
> attached to NULL domain?
Yup, _somebody_ will hit the throttle only once :)
That's what gets fixed by either killing the throttle entirely for
isolated CPUs, or making the throttle work until the guy who needed
isolation turns noise maker off. I prefer reconnect the dots, because
that doesn't touch the fast path.
-Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists