Hi Dietmar, On Thu, 4 Jul 2019 14:05:22 +0200 Dietmar Eggemann <dietmar.eggem...@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. Luca