On Tue, Aug 08, 2006 at 07:21:08PM -0400, Benjamin LaHaise wrote:
> 
> Looking at e1000, NETIF_F_LLTX is a waste -- the driver takes a spinlock 
> almost immediately after entering.  Taking the spinlock higher up in the 
> network stack, preferably for multiple packets, would at least let the 
> CPU deal with things sooner.  tg3 doesn't use LLTX and thus holds the lock 
> over hard_start_xmit().  bonding is atrocious and uses a read lock and unlock 
> in many of the xmit routines.  The only true lockless tx seems to be 
> loopback.

Your assessment is correct.  However, that's not the issue here.

The problem here is that the TX clean function does not take the lock
(nor do we want it to).  It can thus come in while you're transmitting
and empty the queue.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
-
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