R
Robert Hancock
Stephan said:Apparently it's the i440BX PCI interface that caps write throughput
then. When c't magazine reviewed PCI GbE cards last year, they did a
comparative measurement of the fastest card (the Intel desktop thingy,
unsurprisingly) in a PII-400/P2B system to see how fast an old CPU could
push the data and achieved a throughput of - 55 MB/s (NETIO, Linux 2.4).
Now I'm not exactly sure how NICs get their data, I think it's via MMIO
(certainly not PIO) and thus probably involves busmastering as well.
NICs are using bus mastering, but there are likely other factors
involved there, however, like the rate of interrupts from the card. The
OS and Ethernet driver play a big role in performance here. Also,
there's a lot of overhead involved in transferring data in small
1500-byte packets (as usually used on Ethernet) at such speeds, which
means that the PCI bus does not get used as efficiently. The CPU also
must do some processing on received and transmitted packets, so that may
also limit the transfer rate.
Disk controllers are usually doing much bigger burst transfers with not
as many interrupts, control register accesses, etc. and the CPU has less
to do.