Subject: Re: [PATCH] NET: Multiqueue network device support.

From: "Kok, Auke" <[email-masked]>
Date: Thu, 07 Jun 2007 08:03:29 -0700

jamal wrote:
> On Wed, 2007-06-06 at 20:47 -0400, Jeff Garzik wrote:
> 
>> 1) you need (a) well-designed hardware _and_ (b) a smart driver writer
>> to avoid bottlenecking on internal driver locks.  As you can see we have
>> both (a) and (b) for tg3 ;-)  
> 
> How about the following patch which fixes #b for e1000 ;->
> I think the e1000s challenges are related to the gazillion variations of
> boards they support and a little challenge of too many intel cooks.
> 
> Auke, why do you need the tx ring lock?

To prevent against multiple entries bumping head & tail at the same time as well 
as overwriting the same entries in the tx ring (contention for 
next_to_watch/next_to_clean)? It may be unlikely but ripping out the tx ring 
lock might not be a good idea, perhaps after we get rid of LLTX in e1000?

to be honest: I'm open for ideas and I'll give it a try, but stuff like this 
needs to go through some nasty stress testing (multiple clients, long time) 
before I will consider it seriously, but fortunately that's something I can do.

Auke