Messages in this thread | | | Date | Tue, 7 Apr 2015 21:17:18 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH v2 1/2] rtmutex Real-Time Linux: Fixing kernel BUG at kernel/locking/rtmutex.c:997! |
| |
On Tue, 7 Apr 2015, Jason Low wrote: > The lock shouldn't be used in get_next_timer_interrupt() either right? > > unsigned long get_next_timer_interrupt(unsigned long now) > { > ... > > #ifdef CONFIG_PREEMPT_RT_FULL > /* > * On PREEMPT_RT we cannot sleep here. If the trylock does not > * succeed then we return the worst-case 'expires in 1 tick' > * value. We use the rt functions here directly to avoid a > * migrate_disable() call. > */ > if (!spin_do_trylock(&base->lock)) > return now + 1; > #else
And how do you protect the walk of the timer wheel against a concurrent insertion/removal?
Thanks,
tglx
| |