-- On Wed, 26 Sep 2007, Paul E. McKenney wrote: > > > > As long as the list includes code guarded by > > spin_lock_irqsave()/spin_unlock_irqrestore() I am happy. Does this > > count as an irq-disable region? Peter said earlier that in -rt such > > code still runs with IRQs enabled... > > If I remember correctly, it depends on whether the underlying spinlock > is spinlock_t or raw_spinlock_t. > > However, doesn't spin_lock_irqsave() disable preemption in both cases > (either explicitly for the spinlock_t case or implicitly via irq > disable in the raw_spinlock_t case)? If so, synchronize_all_irqs() > should do what you want in both cases. Nope not at all. In RT spin_lock_irqsave does not disable preemption. That's part of the "features" of RT. And also why we want everyone to use spin_lock_irqsave instead of local_irq_save. Because the later does prevent preemption and adds latencies. -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html