poor gigabit ethernet performance with amd64 + sk0
Jon Noack
noackjr at alumni.rice.edu
Fri Mar 26 09:00:43 PST 2004
On 3/26/2004 10:21 AM, Kenneth Culver wrote:
> Quoting Dan Nelson <dnelson at allantgroup.com>:
>> In the last episode (Mar 25), Kenneth Culver said:
>>> I recently did a short file transfer over gigabit ethernet in both
>>> x86 and amd64. On x86 it appears the limiting factor is the laptop
>>> I'm transferring to. I get about 20MB/sec to the laptop in x86. But
>>> on amd64, I'm not sure what the limiting factor is, because I max out
>>> at about 2.8MB/sec with the EXACT same hardware. Here are the dmesg
>>> lines for that ethernet card:
>>
>> Make sure you're testing ethernet speeds and not disk speeds; try
>> something like ttcp or tcpblast. Even a pII/600mhz can do 50MB/sec;
>> any modern CPU should be able to do 90. You might also want to do a
>> long test, then run systat -v to see if the CPU load or interrupts/sec
>> is different between x86 and amd64 modes.
>
> I know for sure I'm not testing disk speeds, at least on the x86 side.
> In x86
> the transfer at 20MB/sec is maxing out my laptop's hard drive. I have
> the same
> model hard drive running my amd64 -CURRENT as I do my x86 -CURRENT, and
> both
> kernels were built from the same source tree. The only difference I see
> when
> running the tests with systat -vm 1 is that sk0 is only interrupting around
> 600-800 times per second on amd64, where it's interrupting at like 4000
> times
> per second on x86, which is what I'd expect given that on FreeBSD-x86 I'm
> sending data at 10x the speed of FreeBSD-amd64.
>
> One other thing I noticed while doing the systat -vm 1 was that the clk
> device
> is interrupting at over 1000 times per second instead of the x86'x 100
> times
> per second. I could try changing that to 100 and see what happens. Also I'm
> read a little bit in the NOTES file on amd64 that atpic is for legacy 8259A
> interrupt controller support. I don't think I need that either. Could
> any of
> these be causing my problem?
HZ=1024 by default on amd64, so you should be seeing approximately that
many clk interrupts/second.
Jon
More information about the freebsd-current
mailing list