netdev
[Top] [All Lists]

Re: 3c59x (was Route cache performance under stress)

To: Bogdan Costescu <bogdan.costescu@xxxxxxxxxxxxxxxxxxxxx>
Subject: Re: 3c59x (was Route cache performance under stress)
From: Andi Kleen <ak@xxxxxxx>
Date: Tue, 10 Jun 2003 18:20:29 +0200
Cc: "David S. Miller" <davem@xxxxxxxxxx>, hadi@xxxxxxxxxxxxxxxx, ralph+d@xxxxxxxxx, xerox@xxxxxxxxxx, sim@xxxxxxxxxxxxx, fw@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, linux-net@xxxxxxxxxxxxxxx
In-reply-to: <Pine.LNX.4.44.0306101801070.26879-100000@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
References: <20030610.085342.41654796.davem@xxxxxxxxxx> <Pine.LNX.4.44.0306101801070.26879-100000@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
> 
> > but he is such a good maintainer that he doesn't want to change over the
> > MEM I/O accesses for fear of breaking something.
> 
> Given that the 3c59x driver supports several generations of cards most of 
> them being EOL-ed years ago, it's pretty hard to do such change. If a new 
> driver would be forked that serviced only the latest generations (Cyclone 
> = 905B and Tornado = 905C(X)), switching to MMIO would probably make sense 
> along with lots of others small changes (large MTU/VLAN, polling 
> descriptors, MII-only media selection etc.) and maybe have NAPI in the mix 
> as well...

Can't you just wrap it in a few macros and offer a config for those
who want the best performance and a runtime test for the others?
Then switch between PIO and mmio dynamically.

Even runtime test should be pretty painless these days, the CPU normally
can execute hundreds or even thousands of tests in the time it takes to 
wait for an mmio or even PIO.



> 
> > It's actually a simple change to make if someone wants to
> > spend a few cycles on it,
> 
> Not if you include testing in those cycles :-)

Just make it a whitelist + a force module param.

 
-Andi (who has a 3c980 and could do it, but already has too much on his
todo list..) 

<Prev in Thread] Current Thread [Next in Thread>