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/

Reply via email to