[PATCH 3/16] Spidernet RX Locking

2006-12-06 Thread Linas Vepstas
The RX packet handling can be called from several places, yet does not protect the rx ring structure. This patch places the ring buffer pointers under a lock. Signed-off-by: Linas Vepstas <[EMAIL PROTECTED]> Cc: James K Lewis <[EMAIL PROTECTED]> Cc: Arnd Bergmann <[EMAIL PROTECTED]> driver

Re: [PATCH 3/16] Spidernet RX Locking

2006-12-07 Thread Jeff Garzik
Linas Vepstas wrote: The RX packet handling can be called from several places, yet does not protect the rx ring structure. This patch places the ring buffer pointers under a lock. Signed-off-by: Linas Vepstas <[EMAIL PROTECTED]> Cc: James K Lewis <[EMAIL PROTECTED]> Cc: Arnd Bergmann <[EMAIL PRO

Re: [PATCH 3/16] Spidernet RX Locking

2006-12-07 Thread Linas Vepstas
On Thu, Dec 07, 2006 at 05:09:20AM -0500, Jeff Garzik wrote: > Linas Vepstas wrote: > >The RX packet handling can be called from several > >places, yet does not protect the rx ring structure. > >This patch places the ring buffer pointers under a lock. > > > >Signed-off-by: Linas Vepstas <[EMAIL PRO

Re: [PATCH 3/16] Spidernet RX Locking

2006-12-08 Thread Benjamin Herrenschmidt
A spinlock is expensive in the fast path, which is why Jeff says it's invasive. > spider_net_decode_one_descr() is called from > spider_net_poll() (which is the netdev->poll callback) > and also from spider_net_handle_rxram_full(). > > The rxramfull routine is called from a tasklet that > is fir

Re: [PATCH 3/16] Spidernet RX Locking

2006-12-11 Thread Linas Vepstas
On Sat, Dec 09, 2006 at 09:47:05AM +1100, Benjamin Herrenschmidt wrote: > A spinlock is expensive in the fast path, which is why Jeff says it's > invasive. > > > spider_net_decode_one_descr() is called from > > spider_net_poll() (which is the netdev->poll callback) > > and also from spider_net_han