Ben Greear writes:
> Richard Gooch wrote:
> > Ben Greear writes:
> >
> >>Richard Gooch wrote:
> >>
> >>> Hi, all. For a while now I've noticed poor performance with gige
> >>>cards under 2.4.19 and 2.4.20-pre*. At first I thought it was because
> >>>of the cheap-ass Addtron cards I bought (these use the ns83820 chip).
> >>>But now that the Intel E1000 cards are pretty cheap too, I've grabbed
> >>>a couple (part number: PWLA8390MT) and see the same problem. In fact,
> >>>the E1000 cards are no better than the Addtron cards. I'm using the
> >>>D-Link DGS-1008T 8-port gige switch. MTU=1500 bytes.
> >>
> >>Try setting the TxDescriptors=4096 RxDescriptors=1024 when loading the
> >>e1000 module, that helps tremendously when using smaller packets.
> >
> > Didn't help at all. Just to summarise, I've got:
> > options e1000 TxDescriptors=4096 RxDescriptors=1024
> > net.ipv4.tcp_rmem = 262144 262144 262144
> > net.ipv4.tcp_wmem = 262144 262144 262144
> > MTU=1500
> >
> > I'm doing read(2)/write(2) to/from a user-space buffer over a TCP
> > socket with 256 KiB buffer size.
> >
> > Is the E1000 supposed to have hardware interrupt mitigation (thus
> > avoiding the need for NAPI)?
>
> NAPI did not greatly improve the performance I saw with larger packets,
> but it did help with smaller (say, 60 byte) packets.
My packets should be 1500 bytes, or close to it.
> One other thing I saw with TCP connections: They started off slow,
> but after a few seconds they were reacing their peak throughput.
> How long are you running your test?
I normally send 100 MB, so that's around 2 seconds or more. Sending
1 GB doesn't change anything (other than the test taking 20 seconds or
more).
Oh, BTW: some possibly relevant config options:
CONFIG_M686=y
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
CONFIG_HIGHIO=y
CONFIG_SMP=y
CONFIG_E1000=m
Regards,
Richard....
Permanent: rgooch@xxxxxxxxxxxxx
Current: rgooch@xxxxxxxxxxxxxxx
|