Re: [RFC][PATCH 07/22] sched: SCHED_DEADLINE push and pull logic

From: Raistlin
Date: Fri Nov 12 2010 - 16:11:28 EST


On Fri, 2010-11-12 at 17:17 +0100, Peter Zijlstra wrote:
> On Fri, 2010-10-29 at 08:32 +0200, Raistlin wrote:
> > Add dynamic migrations to SCHED_DEADLINE, so that tasks can
> > be moved among CPUs when necessary. It is also possible to bind a
> > task to a (set of) CPU(s), thus restricting its capability of
> > migrating, or forbidding migrations at all.
> >
> > The very same approach used in sched_rt is utilised:
> > - -deadline tasks are kept into CPU-specific runqueues,
> > - -deadline tasks are migrated among runqueues to achieve the
> > following:
> > * on an M-CPU system the M earliest deadline ready tasks
> > are always running;
> > * affinity/cpusets settings of all the -deadline tasks is
> > always respected.
>
> I haven't fully digested the patch, I keep getting side-tracked and its
> a large patch..
>
Yeah, I know, take your time. :-)

> however, I thought we would only allow 2 affinities,
> strict per-cpu and full root-domain?
>
Yes, we do! Writing a better changelog for this already noted for next
version.

> Keep 2 per-cpu utilization counts, a hard-rt and a soft-rt, and ensure
> the sum stays <= 1. Use the hard-rt one for the planned SF_HARD_RT flag,
> use the soft-rt one for !SF_HARD_RT with nr_cpus_allowed == 1, and use
> \Sum (1-h-s) over the root domain for nr_cpus_allowed != 1.
>
As agreed during LPC, that's exactly what I'll do. Let's hope to don't
screw up while trying to do the math! :-P

Thanks,
Dario
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
----------------------------------------------------------------------
Dario Faggioli, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa (Italy)

http://blog.linux.it/raistlin / raistlin@xxxxxxxxx /
dario.faggioli@xxxxxxxxxx

Attachment: signature.asc
Description: This is a digitally signed message part