Re: smp.c && barriers (Was: [PATCH 1/4] generic-smp: remove single ipi fallback for smp_call_function_many())

Paul E. McKenney
2009-02-18T02:40:39Z

On Tue, Feb 17, 2009 at 06:15:31PM -0800, Suresh Siddha wrote:
> On Tue, 2009-02-17 at 07:51 -0800, Paul E. McKenney wrote:
> > On Tue, Feb 17, 2009 at 12:26:57PM +0100, Nick Piggin wrote:
> > > + spin_lock(&q->lock);
> > > + list_replace_init(&q->list, &list);
> > > + spin_unlock(&q->lock);
> >
> > OK, I'll bite...
> >
> > How do we avoid deadlock in the case where a pair of CPUs send to each
> > other concurrently?
>
> Sender takes the lock with interrupts-disabled. That should prevent any
> deadlock, right?

You are of course correct! Apologies for my confusion!!!

Thanx, Paul