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

Reply via email to