Thread (23 messages) 23 messages, 4 authors, 2007-09-27

Re: [PATCH RFC -rt] updated synchronize_all_irqs implementation

From: Steven Rostedt <rostedt@goodmis.org>
Date: 2007-09-26 17:48:20

--

On Wed, 26 Sep 2007, Paul E. McKenney wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help