On Fri, 6 Dec 2013, Sören Brinkmann wrote: > On Thu, Nov 28, 2013 at 08:07:10PM +0100, Thomas Gleixner wrote: > > There is a solution to this. We can identify the broadcast device in > > the core and serialize all callers including interrupts on a different > > cpu against the update. So no need for the disable/enable_irq() dance. > > IIUC, and please correct me if I'm wrong, with the patch I'd simply call > 'clockevents_update_freq() without having to disable IRQs. But I'm not > sure whether periodic mode is covered. I found, that I had to reprogram > the timer interval in my clock notifier callback when the timer > frequency changes. I think 'clockevents_update_freq()' only handles > oneshot mode. For that reason I call 'ttc_set_interval()' in the clock > notifier in case the timer is in periodic mode. For that call we'd still > have possible races. I guess the best solution would be to move that > functionality into 'clockevents_update_freq()'? Indeed.