Herbert Xu wrote: > On Tue, May 30, 2006 at 09:13:22PM -0700, David Miller wrote: > > As per the bug, I always keep thinking about changing how we > > do the lockless stuff by simply making xmit_lock a pointer. > > Drivers like tg3 can make it point to their local driver lock. > > This is equivalent to just using the xmit_lock in the driver, right? > IIRC the problem was with IRQ disabling vs. BH disabling.
For drivers that always take a private tx lock between tx completion and hard_start_xmit on top of the xmit_lock, getting rid of the xmit_lock using LLTX is a net gain. For drivers that don't need a private tx lock or rarely need it between tx completion and hard_start_xmit, it makes little difference whether you use xmit_lock or private lock with LLTX. > > That's why I suggest that every NIC that uses this feature be forced > to do what TG3 does so only BH disabling is needed. Once that's done > they can just use xmit_lock and everyone will be happy again. > As long as the tx completion is all done in NAPI, it can use BH disabling without irq disabling. TG3 uses LLTX with a private tx_lock. BNX2 uses xmit_lock with a private tx_lock that is rarely used. Both drivers use BH disabling. The profiles of the 2 drivers are very similar. - 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