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

From: jamal <[email-masked]>
Date: Thu, 07 Jun 2007 17:57:25 -0400

On Thu, 2007-07-06 at 08:03 -0700, Kok, Auke wrote: 
> 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)? 

In current code that lock certainly doesnt protect those specifics.
I thought at some point thats what it did; somehow that seems to have
changed - the rx path/tx prunning is protected by tx_queue_lock
I have tested it the patch on smp and it works.

> 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?

I dont think it matters either way. At the moment, you are _guaranteed_
only one cpu can enter tx path. There may be another CPU, but as long
(as in current code) you dont have any contention between tx and rx, it
seems to be a non-issue.

> 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.

I empathize but take a closer look; seems mostly useless.
And like i said I have done a quick test with an SMP machine and it
seems to work fine; but your tests will probably be more thorough.

cheers,
jamal