On Fri, Mar 18, 2005 at 04:56:41AM -0800, Bill Huey wrote: > On Thu, Mar 17, 2005 at 04:20:26PM -0800, Paul E. McKenney wrote: > > 5. Scalability -and- Realtime Response. > ... > > > void > > rcu_read_lock(void) > > { > > preempt_disable(); > > if (current->rcu_read_lock_nesting++ == 0) { > > current->rcu_read_lock_ptr = > > &__get_cpu_var(rcu_data).lock; > > read_lock(current->rcu_read_lock_ptr); > > } > > preempt_enable(); > > } > > Ok, here's a rather unsure question... > > Uh, is that a sleep violation if that is exclusively held since it > can block within an atomic critical section (deadlock) ?
Hey, I wasn't joking when I said that I probably got something wrong! ;-) My current thought is that the preempt_disable()/preempt_enable() can be dropped entirely. Messes up any tool that browses through ->rcu_read_lock_nesting, but don't see any other problem. Yet, anyway! Thanx, Paul - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/