Re: [PATCH RFC -rt] updated synchronize_all_irqs implementation
From: Paul E. McKenney <hidden>
Date: 2007-09-26 01:11:42
On Wed, Sep 26, 2007 at 01:24:47AM +0200, Peter Zijlstra wrote:
On Tue, 25 Sep 2007 16:02:45 -0400 (EDT) Steven Rostedt [off-list ref] wrote:quoted
quoted
This would of course require that synchronize_all_irqs() be in the RCU code rather than the irq code so that it could access the static wakeme_after_rcu() definition and the rcu_synchronize structure. Thoughts?I do like this better. Anyone else care to comment?I'm still wondering why the IRQ users cannot user proper RCU as it stands:
Well, that was my initial proposal. ;-)
rcu_read_lock();
foo = rcu_dereference(bar);
if (foo)
foo();
rcu_read_unlock();
vs
rcu_assign(foo, NULL);
synchronize_rcu();For this last, it would be necessary to use SRCU -- also, not sure we would want the IRQ handler to block this way. Or am I missing something?
and the like. The implicit rcu_read_lock() as placed in handle_IRQ_event() seems misplaced.
OK -- where would you put them instead? I have them covering the call to the handler, so what am I missing here? Thanx, Paul