[realtek] Changing RX_BUF_LEN_IDX to 3 in 8139too stops driver from working...

Jeff Garzik jgarzik@mandrakesoft.com
Fri Mar 1 11:30:01 2002


"Carlo E. Prelz" wrote:
> Hello all. I already wrote to the list in the past to look for some
> help im identifying the reason why a single-board computer with a
> RTL-8139C chip had lower-than-expected performance. My conclusion has
> been that the responsible is the CPU (a 233MHz NatSemi Geode) that is
> not sufficient for the task. But today I came back to the problem, and
> I tried to increase the receive buffer to see if this changed
> something.
> 
> Well, I changed RX_BUF_LEN_IDX from 2 to 3 (should bump the in-memory
> receive ring from 32k to 64k) and with this change the new kernel was
> not able to talk to the network anymore (could not find the
> nfs-mounted root partition).

You need to change a lot of stuff to go to 64K...  Not only
RX_BUF_LEN_IDX but the rtl8139_rx_config constant, and the RX-interrupt
code.

RTL8139A/B/C chips will indeed eat your CPU, you gotta copy every packet
from an on-chip ring :/

-- 
Jeff Garzik      |
Building 1024    |
MandrakeSoft     | Choose life.