RE: How to troubleshoot slow network performance with Realtek 8169s?
-Original Message- From: Juha Saarinen [mailto:[EMAIL PROTECTED] Sent: Sunday, July 03, 2005 4:03 AM To: Ted Mittelstaedt Cc: FreeBSD questions Subject: Re: How to troubleshoot slow network performance with Realtek 8169s? On 7/3/05, Ted Mittelstaedt [EMAIL PROTECTED] wrote: The Realtek is a cheap adapter. You can try hard-coding the media type to see what happens, but the fact remains this is nowhere near as good a card as the 82801B. As a result of this there hasn't been that much attention to driver optimizations, you can review the work here: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c If playing around with the media type doesen't fix it you can try a send-pr but your best off just pulling the card and replacing it with another Intel, then mailing the card to one of the driver developers. Maybe in 6 months to a year you might see a faster driver in FreeBSD - or maybe not. Yeah, I know the 8169s isn't the flashest card in the universe and I don't mind donating a card or two to the developers, but with further testing -- assuming iperf isn't lying -- it seems the driver is OK and there's something happening further up the chain that I don't understand yet. What's weird is that with both 100 and 1000Mbit/s connections, the max speed is a quarter of the link speed when using applications such as ftp for transferring files. With iperf, I see 92Mbit/s on 100Mbit/s and 400-640Mbit/s on 1000mbit/s connections depending on the direction. This isn't weird at all. It is a driver issue. Remember I said the driver hasn't been optimized. The driver could be letting the card seize the PCI bus for an inordinate amount of time or some such. This could also be an interaction with the card, the driver, and some bios setting of your motherboard. This could be, for example, not allowing enough cpu time for a higher-overhead program like FTP to run at full speed, while allowing a lower overhead program like iperf, enough time to run at full blast. I have seen issues like this before and they have almost always been solved by swapping hardware. I have in fact swapped hardware that acted up in one machine to a different machine that had a different motherboard, same FreeBSD versions on both systems, and that hardware became rock-solid in the new motherboard. Frankly it all depends on what you want to do. If this is a production system you are going to need it online and you can't waste the time to screw around with it - in that case you know the Intel chipset works well in that motherboard, so replace the Realtek. If however this is a fun-n-games system then keep the Realtek in there and file a send-pr and work it that way. Ted ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: How to troubleshoot slow network performance with Realtek 8169s?
On 7/4/05, Ted Mittelstaedt [EMAIL PROTECTED] wrote: This isn't weird at all. It is a driver issue. Remember I said the driver hasn't been optimized. The driver could be letting the card seize the PCI bus for an inordinate amount of time or some such. This could also be an interaction with the card, the driver, and some bios setting of your motherboard. This could be, for example, not allowing enough cpu time for a higher-overhead program like FTP to run at full speed, while allowing a lower overhead program like iperf, enough time to run at full blast. I have seen issues like this before and they have almost always been solved by swapping hardware. I have in fact swapped hardware that acted up in one machine to a different machine that had a different motherboard, same FreeBSD versions on both systems, and that hardware became rock-solid in the new motherboard. Frankly it all depends on what you want to do. If this is a production system you are going to need it online and you can't waste the time to screw around with it - in that case you know the Intel chipset works well in that motherboard, so replace the Realtek. If however this is a fun-n-games system then keep the Realtek in there and file a send-pr and work it that way. Righto, that, too, makes sense. Will engage in some further investigation (read: hardware swapping and head scratching) to narrow things down. -- Juha ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
How to troubleshoot slow network performance with Realtek 8169s?
I have a 3.06GHz Intel P4 server running 5.4-RELEASE-p3, with the following two NICs: fxp0: Intel 82801BA/CAM (ICH2/3) Pro/100 Ethernet port 0xdf00-0xdf3f mem 0xfea fc000-0xfeafcfff irq 20 at device 8.0 on pci2 miibus0: MII bus on fxp0 inphy0: i82562ET 10/100 media interface on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:d0:b7:c3:0f:20 re0: RealTek 8169S Single-chip Gigabit Ethernet port 0xd800-0xd8ff mem 0xfeaff 800-0xfeaff8ff irq 22 at device 10.0 on pci2 miibus1: MII bus on re0 rgephy0: RTL8169S/8110S media interface on miibus1 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX -FDX, auto re0: Ethernet address: 00:08:a1:3c:72:bb The Intel NIC is built into the motherboard, and the Realtek 8169s sits in a 32-bit PCI slot. Performance for the Realtek adapter is slow though: around 25Mbit/s when serving clients with Fast Ethernet NICs, and around 250Mbit/s for Gigabit Ethernet ones. Having tried out the card in Windows boxes and seen the expected 600Mbit/s, I expected something similar with FreeBSD 5.4. The odd thing is that you get approx. a quarter of the link speed with both 100TX and 1000TX but not more under FreeBSD 5.4. The environment a switched network with known good cabling, standard size Ethernet frames, media autoselect and a kernel with DEVICE_POLLING and HZ=2000 which re(4) supports according to the polling(4) man page. #ifconfig re0 re0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500 options=58VLAN_MTU,VLAN_HWTAGGING,POLLING snip media: Ethernet autoselect (1000baseTX full-duplex) status: active Enabling/disabling polling makes no real difference, apart from taking the edge of performance somewhat. #sysctl -a | grep polling kern.polling.idlepoll_sleeping: 1 kern.polling.stalled: 0 kern.polling.suspect: 367 kern.polling.phase: 0 kern.polling.enable: 1 kern.polling.handlers: 1 kern.polling.residual_burst: 0 kern.polling.pending_polls: 0 kern.polling.lost_polls: 782 kern.polling.short_ticks: 731 kern.polling.reg_frac: 20 kern.polling.user_frac: 50 kern.polling.poll_in_trap: 0 kern.polling.idle_poll: 0 kern.polling.burst_max: 150 kern.polling.each_burst: 5 kern.polling.burst: 110 The re(4) man page doesn't have any troubleshooting hints and Googling didn't turn up anything useful. What else could I look for? -- Juha ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
RE: How to troubleshoot slow network performance with Realtek 8169s?
The Realtek is a cheap adapter. You can try hard-coding the media type to see what happens, but the fact remains this is nowhere near as good a card as the 82801B. As a result of this there hasn't been that much attention to driver optimizations, you can review the work here: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c If playing around with the media type doesen't fix it you can try a send-pr but your best off just pulling the card and replacing it with another Intel, then mailing the card to one of the driver developers. Maybe in 6 months to a year you might see a faster driver in FreeBSD - or maybe not. Ted -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Juha Saarinen Sent: Sunday, July 03, 2005 12:37 AM To: FreeBSD questions Subject: How to troubleshoot slow network performance with Realtek 8169s? I have a 3.06GHz Intel P4 server running 5.4-RELEASE-p3, with the following two NICs: fxp0: Intel 82801BA/CAM (ICH2/3) Pro/100 Ethernet port 0xdf00-0xdf3f mem 0xfea fc000-0xfeafcfff irq 20 at device 8.0 on pci2 miibus0: MII bus on fxp0 inphy0: i82562ET 10/100 media interface on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:d0:b7:c3:0f:20 re0: RealTek 8169S Single-chip Gigabit Ethernet port 0xd800-0xd8ff mem 0xfeaff 800-0xfeaff8ff irq 22 at device 10.0 on pci2 miibus1: MII bus on re0 rgephy0: RTL8169S/8110S media interface on miibus1 rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX -FDX, auto re0: Ethernet address: 00:08:a1:3c:72:bb The Intel NIC is built into the motherboard, and the Realtek 8169s sits in a 32-bit PCI slot. Performance for the Realtek adapter is slow though: around 25Mbit/s when serving clients with Fast Ethernet NICs, and around 250Mbit/s for Gigabit Ethernet ones. Having tried out the card in Windows boxes and seen the expected 600Mbit/s, I expected something similar with FreeBSD 5.4. The odd thing is that you get approx. a quarter of the link speed with both 100TX and 1000TX but not more under FreeBSD 5.4. The environment a switched network with known good cabling, standard size Ethernet frames, media autoselect and a kernel with DEVICE_POLLING and HZ=2000 which re(4) supports according to the polling(4) man page. #ifconfig re0 re0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500 options=58VLAN_MTU,VLAN_HWTAGGING,POLLING snip media: Ethernet autoselect (1000baseTX full-duplex) status: active Enabling/disabling polling makes no real difference, apart from taking the edge of performance somewhat. #sysctl -a | grep polling kern.polling.idlepoll_sleeping: 1 kern.polling.stalled: 0 kern.polling.suspect: 367 kern.polling.phase: 0 kern.polling.enable: 1 kern.polling.handlers: 1 kern.polling.residual_burst: 0 kern.polling.pending_polls: 0 kern.polling.lost_polls: 782 kern.polling.short_ticks: 731 kern.polling.reg_frac: 20 kern.polling.user_frac: 50 kern.polling.poll_in_trap: 0 kern.polling.idle_poll: 0 kern.polling.burst_max: 150 kern.polling.each_burst: 5 kern.polling.burst: 110 The re(4) man page doesn't have any troubleshooting hints and Googling didn't turn up anything useful. What else could I look for? -- Juha ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED] ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: How to troubleshoot slow network performance with Realtek 8169s?
Hmm... replying to myself here, but using iperf I see 420Mbit/s+ from FreeBSD to Windows with TCP. Vice versa, 640mbit/s approx. Not so with file transfers across ftp, http, and smb though. Which is odd. -- Juha ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: How to troubleshoot slow network performance with Realtek 8169s?
On 7/3/05, Ted Mittelstaedt [EMAIL PROTECTED] wrote: The Realtek is a cheap adapter. You can try hard-coding the media type to see what happens, but the fact remains this is nowhere near as good a card as the 82801B. As a result of this there hasn't been that much attention to driver optimizations, you can review the work here: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/re/if_re.c If playing around with the media type doesen't fix it you can try a send-pr but your best off just pulling the card and replacing it with another Intel, then mailing the card to one of the driver developers. Maybe in 6 months to a year you might see a faster driver in FreeBSD - or maybe not. Yeah, I know the 8169s isn't the flashest card in the universe and I don't mind donating a card or two to the developers, but with further testing -- assuming iperf isn't lying -- it seems the driver is OK and there's something happening further up the chain that I don't understand yet. What's weird is that with both 100 and 1000Mbit/s connections, the max speed is a quarter of the link speed when using applications such as ftp for transferring files. With iperf, I see 92Mbit/s on 100Mbit/s and 400-640Mbit/s on 1000mbit/s connections depending on the direction. -- Juha ___ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to [EMAIL PROTECTED]