Re: [RT PATCH 2/3] hrtimer: Don't grab the expiry lock for non-soft hrtimer

From: Sebastian Andrzej Siewior
Date: Wed Aug 21 2019 - 09:49:50 EST


On 2019-08-21 10:24:08 [+0100], Julien Grall wrote:
> diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
> index b869e816e96a..119414a2f59c 100644
> --- a/kernel/time/hrtimer.c
> +++ b/kernel/time/hrtimer.c
> @@ -934,7 +934,7 @@ void hrtimer_grab_expiry_lock(const struct hrtimer *timer)
> {
> struct hrtimer_clock_base *base = READ_ONCE(timer->base);
>
> - if (base && base->cpu_base) {
> + if (timer->is_soft && base && base->cpu_base) {
> spin_lock(&base->cpu_base->softirq_expiry_lock);
> spin_unlock(&base->cpu_base->softirq_expiry_lock);
> }

right, much simpler.

Sebastian