[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKfTPtBju2O1gcugbqyAtrALF9zkFswvLbHRR5sTXv+esMhUnw@mail.gmail.com>
Date: Fri, 20 Feb 2015 15:54:09 +0100
From: Vincent Guittot <vincent.guittot@...aro.org>
To: Morten Rasmussen <morten.rasmussen@....com>
Cc: Peter Zijlstra <peterz@...radead.org>,
"mingo@...nel.org" <mingo@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"preeti@...ux.vnet.ibm.com" <preeti@...ux.vnet.ibm.com>,
"kamalesh@...ux.vnet.ibm.com" <kamalesh@...ux.vnet.ibm.com>,
"riel@...hat.com" <riel@...hat.com>,
"efault@....de" <efault@....de>,
"nicolas.pitre@...aro.org" <nicolas.pitre@...aro.org>,
Dietmar Eggemann <Dietmar.Eggemann@....com>,
"linaro-kernel@...ts.linaro.org" <linaro-kernel@...ts.linaro.org>
Subject: Re: [PATCH RESEND v9 00/10] sched: consolidation of CPU capacity and usage
On 20 February 2015 at 15:35, Morten Rasmussen <morten.rasmussen@....com> wrote:
> On Fri, Feb 20, 2015 at 02:13:21PM +0000, Vincent Guittot wrote:
>> On 20 February 2015 at 12:52, Morten Rasmussen <morten.rasmussen@....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
we want to trig the migration before the cpu is fully utilized by
rt/irq (which almost never occurs)
> 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?
yes, so the relative capacity (cpu_capacity vs cpu_capacity_orig)
enables us to know if the cpu is significantly used by irq/rt so it's
worth to do an active load balance of the task. Then the absolute
comparison of cpu_capacity of src_cpu vs cpu_capacity of dst_cpu
checks that the dst_cpu is a better choice
something like :
if ((check_cpu_capacity(src_rq, sd)) &&
(capacity_of(src_cpu)*sd->imbalce_pct < capacity_of(dst_cpu)*100))
return 1;
--
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