Messages in this thread | | | From | Thomas Gleixner <> | Subject | Re: [patch 8/8] hrtimer: Avoid more SMP function calls in clock_was_set() | Date | Tue, 27 Apr 2021 21:59:43 +0200 |
| |
On Tue, Apr 27 2021 at 12:11, Marcelo Tosatti wrote: > On Tue, Apr 27, 2021 at 10:25:45AM +0200, Thomas Gleixner wrote: > Consider > > > hrtimer_interrupt > in_hrtirq = 1 > __run_hrtimer > raw_spin_unlock_irqrestore(&cpu_base->lock, flags) > settimeofday > clock_was_set > lock cpu_base->lock > update_needs_ipi returns false > continue to process hrtimers with stale base->offset
Bah. I somehow convinced myself that hrtimer_interrupt() rechecks the offset before clearing in_hrtirq, but that's not true. It does so when reprogramming fails, but not for the regular case.
Lemme stare at it some more.
Thanks,
tglx
| |