On Mon, Oct 24, 2016 at 04:06:34PM +0200, Luca Abeni wrote:
> @@ -1074,6 +1161,14 @@ select_task_rq_dl(struct task_struct *p, int cpu, int 
> sd_flag, int flags)
>       }
>       rcu_read_unlock();
>  
> +     rq = task_rq(p);
> +     raw_spin_lock(&rq->lock);
> +     if (hrtimer_active(&p->dl.inactive_timer)) {
> +             sub_running_bw(&p->dl, &rq->dl);
> +             hrtimer_try_to_cancel(&p->dl.inactive_timer);
> +     }
> +     raw_spin_unlock(&rq->lock);

Its a bit sad having to take rq->lock here...

Also, what happens when hrtimer_try_to_cancel() fails?

> +
>  out:
>       return cpu;
>  }

Reply via email to