[vortex] Scyld vs kernel drivers

Richard Fuchs r.fuchs@inode.at
Fri Dec 6 08:53:00 2002


Donald Becker wrote:
> On Thu, 5 Dec 2002, Bogdan Costescu wrote:
> 
> 
>>>I was wondering about the differences between Donald Becker's driver and
>>>the driver that comes with the linux kernel,
> 
> ...
> 
>>>especially the differences performance-wise.
>>
>>I don't think that the driver (either of them) limits performance in any 
>>way when using a modern card (905B or later) with a pretty modern CPU (I 
>>normally test here with a 450 MHz CPU). I wasn't able to see any 
>>difference in transfer rate between CPUs with 400 and 1200 MHz for my 

...

> Every modern PCI NIC can get full wire rate performance.
> The difference is how much system load the NIC imposes.
> This is impacted by:
>    Not requiring packet copies (the 3c905+ does not)
>    Arbitrary Rx and Tx Packet alignment (very good)
>    TCP/UDP/IP checksum calculations (the 905B/905C are excellent)
>    Interrupt mitigation (very limited)
>    PCI bursts per packet (mostly good)
>    CPU bus operations per packet.
>    The ability to tune FIFO thresholds before failures.

Perhaps I should have clarified more, I was actually thinking about cpu 
usage and system load and not so much transfer rate. I'm using two 
3c905C cards and I'm looking for ways to cut down the cpu usage. I 
looked at the driver sources some and read the docs, but it still isn't 
clear to me how the driver handles for example hardware checksumming 
(somehow related to zerocopying). To make a long story short: can I 
expect a drastic decrease in cpu usage if I switched from the kernel 
driver to your driver? Or is there other hardware that does a better job 
at taking load off the cpu?

Richard