Re: [PATCH RESEND v9 00/10] sched: consolidation of CPU capacity and usage

Morten Rasmussen
2015-02-20T14:34:28Z

On Fri, Feb 20, 2015 at 02:13:21PM +0000, Vincent Guittot wrote:
> On 20 February 2015 at 12:52, Morten Rasmussen <morten.rasmussen@arm.com> wrote:
> > On Fri, Feb 20, 2015 at 11:34:47AM +0000, Peter Zijlstra wrote:
> >> On Thu, Feb 19, 2015 at 12:49:40PM +0000, Morten Rasmussen wrote:
> >>
> >> > Also, it still not clear why patch 10 uses relative capacity reduction
> >> > instead of absolute capacity available to CFS tasks.
> >>
> >> As present in your asymmetric big and small systems? Yes it would be
> >> unfortunate to migrate a task to an idle small core when the big core is
> >> still faster, even if reduced by rt/irq work.
> >
> > Yes, exactly. I don't think it would cause any harm for symmetric cases
> > to use absolute capacity instead. Am I missing something?
>
> If absolute capacity is used, we will trig an active load balance from
> little to big core each time a little has got 1 task and a big core is
> idle whereas we only want to trig an active migration is the src_cpu's
> capacity that is available for the cfs task is significantly reduced
> by rt tasks.
>
> I can mix absolute and relative tests by 1st testing that the capacity
> of the src is reduced and then ensure that the dst_cpu has more
> absolute capacity than src_cpu

If we use absolute capacity and check if the source cpu is fully
utilized, wouldn't that work? We want to migrate the task if it is
currently being restricted by the available capacity (due to rt/irq
work, being a little cpu, or both) and if there is a destination cpu
with more absolute capacity available. No?