Messages in this thread | | | Subject | Re: [RFC PATCH 2/6] sched/dl: Capacity-aware migrations | From | Dietmar Eggemann <> | Date | Mon, 8 Jul 2019 12:41:14 +0200 |
| |
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@arm.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.
| |