[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7d323b6f-ae15-b04d-cd67-a5e6f8d101d5@arm.com>
Date: Mon, 8 Jul 2019 12:41:14 +0200
From: Dietmar Eggemann <dietmar.eggemann@....com>
To: luca abeni <luca.abeni@...tannapisa.it>
Cc: linux-kernel@...r.kernel.org,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
"Paul E . McKenney" <paulmck@...ux.ibm.com>,
Joel Fernandes <joel@...lfernandes.org>,
Quentin Perret <quentin.perret@....com>,
Luc Van Oostenryck <luc.vanoostenryck@...il.com>,
Morten Rasmussen <morten.rasmussen@....com>,
Juri Lelli <juri.lelli@...hat.com>,
Daniel Bristot de Oliveira <bristot@...hat.com>,
Patrick Bellasi <patrick.bellasi@....com>,
Tommaso Cucinotta <tommaso.cucinotta@...tannapisa.it>
Subject: Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations
On 7/8/19 9:41 AM, luca abeni wrote:
> Hi Dietmar,
>
> On Thu, 4 Jul 2019 14:05:22 +0200
> Dietmar Eggemann <dietmar.eggemann@....com> wrote:
>
>> On 5/6/19 6:48 AM, Luca Abeni wrote:
>>
>> [...]
>>
>>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
>>> index 5b981eeeb944..3436f3d8fa8f 100644
>>> --- a/kernel/sched/deadline.c
>>> +++ b/kernel/sched/deadline.c
>>> @@ -1584,6 +1584,9 @@ select_task_rq_dl(struct task_struct *p, int
>>> cpu, int sd_flag, int flags) if (sd_flag != SD_BALANCE_WAKE)
>>> goto out;
>>>
>>> + if (dl_entity_is_special(&p->dl))
>>> + goto out;
>>
>> I wonder if this is really required. The if condition
>>
>> 1591 if (unlikely(dl_task(curr)) &&
>> 1592 (curr->nr_cpus_allowed < 2 ||
>> 1593 !dl_entity_preempt(&p->dl, &curr->dl)) &&
>> 1594 (p->nr_cpus_allowed > 1)) {
>>
>> further below uses '!dl_entity_preempt(&p->dl, &curr->dl))' which
>> returns 'dl_entity_is_special(a) || ...'
>
> Uhm... I do not remember the details; I remember that the check fixed
> something during the development of the patchset, but I did not check
> if it was still needed when I forward-ported the patches...
>
> So, maybe it worked around some bugs in previous versions of the
> kernel, but is not needed now.
I figured it out in the meantime ... you added a ' ... ||
static_branch_unlikely(&sched_asym_cpucapacity)' in this patch to this
if condition which let's special dl tasks (like sugov:X) enter this
condition e.g. on big.LITTLE.
Powered by blists - more mailing lists