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