Date: Fri, 26 Mar 2004 11:21:53 -0500 From: Kenneth Culver <culverk@sweetdreamsracing.biz> To: Dan Nelson <dnelson@allantgroup.com> Cc: freebsd-current@freebsd.org Subject: Re: poor gigabit ethernet performance with amd64 + sk0 Message-ID: <20040326112153.wcgwk4o0wkwwosos@www.sweetdreamsracing.biz> In-Reply-To: <20040326153548.GD3446@dan.emsphone.com> References: <20040325220939.2ogcsoogkoookwwc@www.sweetdreamsracing.biz> <20040326153548.GD3446@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Dan Nelson <dnelson@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. > > -- > Dan Nelson > dnelson@allantgroup.com 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? Ken
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040326112153.wcgwk4o0wkwwosos>