Date: Fri, 21 Sep 2007 22:08:16 +0400 From: "Artem Kuchin" <matrix@itlegion.ru> To: <freebsd-current@freebsd.org> Subject: TSP on em makes send of streams very slow Message-ID: <01c801c7fc7a$696ab900$0c00a8c0@Artem>
next in thread | raw e-mail | index | archive | help
Hello! Here is what i have experienced today. I just installed 7.0-CURRENT (cvsed and build on 2007/09/20) on a PRODUCTION web server (because, IHMO, this current is stable enough and i like too much :) This is intel MB with two built-in em intefaces. I sshed to the server. While i was in plain shell everything was fine, but when i stared midnight commander i saw how it very slowly draws scren part by part. It took about 3 monutes to almost completely draw a screen when i got disconnected. I tied again - the same. Then i connected via ftp and uploaded 10MB file at 900KB/sec. When i tried to download it back i got about 500 *BYTES*/sec and the got disconnected in a couple of minutes. Ping was just find, even flood ping from the server on the save switch with 15000 packets was fine (just one dot on the left). I went also crazy already when i desided to compare interface params with another server with em NICs. The dfference is that this is has the following options (by DEFAULT, i did not turn it on): VLAN_HWCSUM,TSO4 I've read about TSO on 'man ifconfig' and just for kicks decided to turn it off. VOILA!!! In a seconds send speed was up to 10 MBYTES/sec! I have googled about 'em tso slow ' etc.. and found a couple of seemingly the same problem dated back 2006. Is it supposed to be solved by now? What IS the problem with TSO? Another question, what is VLAN_HWCSUM? Is it good for anything on a web server? How to disable it? (this option is not descriobed on ifconfig man page). Weirdly enough, when i looked at pciconf i have noticed that two build in nic are different chips. Is it normal? em1@pci6:5:0: class=0x020000 card=0x30a18086 chip=0x10768086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = '82541EI Gigabit Ethernet Controller' class = network subclass = ethernet em0@pci5:0:0: class=0x020000 card=0x30a28086 chip=0x108c8086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = 'PRO/1000 PM' class = network subclass = ethernet ifconfig: em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM> ether 00:16:76:9b:a1:bc media: Ethernet autoselect (100baseTX <full-duplex>) status: active em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM> ether 00:16:76:9b:a1:bd media: Ethernet autoselect status: no carrier Another em man page weirdness is that it says that if one does not specify full-duplex in mediaopt then driver is supposed top be in half-duplex even in autoselect mode. It definetely does not behave like this (you can see in my ifconfig output). Totally BTW: should i enable polling? does it give anything good at very low cost? -- Regards, Artem Kuchin IT Legion Moscow, Russia www.itlegion.ru +7 495 232-0338
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01c801c7fc7a$696ab900$0c00a8c0>