On Wed, Jul 19, 2006 at 09:38:41AM +0400, Evgeniy Polyakov ([EMAIL PROTECTED]) 
wrote:
> There is no socket spinlock anymore.
> Above lock is skb_queue lock which is held inside
> skb_dequeue/skb_queue_tail calls.
>  
> > > one mutex for netchannel's bucket 
> > 
> > Equivalent of socket user lock.
> 
> No, it is an equivalent for hash lock in socket table.


Futher lock description:
low-level netchannels input uses RCU, where RCU and hash lock are
used in socket code. Userspace can bind file descriptor to netchannel,
so there will be no locks at all (netchannel bucket mutex is held, when 
netchannel lookup happens). That basically means that if two readers call 
netchannel_recv() simultaneously, there will be som troubles, so in that 
case netchannel bucket mutex is equivalent to socket lock (if netchannel
mutex is used).

But main thing here is that there is no need to protect against bh
context, and nothing is locked and processed in bh context at all.

This leads to complete removal of atomic allocations in netchannel code.

-- 
        Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to