On Wed, 10 Apr 2013, Michael Bohan wrote: > When switching to a new cpu_base in switch_hrtimer_base(), we > briefly enable preemption by unlocking the cpu_base lock in two > places. During this interval it's possible for the running thread > to be swapped to a different CPU. > > Consider the following example: > > CPU #0 CPU #1 > ---- ---- > hrtimer_start() ... > lock_hrtimer_base() > switch_hrtimer_base() > this_cpu = 0; > target_cpu_base = 0; > raw_spin_unlock(&cpu_base->lock) > <migrate to CPU 1> Errm. switch_hrtimer_base() is called with interrupts disabled and they stay disabled, so how exactly is the task going to be migrated? Thanks, tglx -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html