Date: Sun, 19 Sep 1999 20:39:29 -0400 (EDT) From: Bill Paul <wpaul@skynet.ctr.columbia.edu> To: current@freebsd.org Subject: HEADS UP: 3Com xl driver changes Message-ID: <199909200039.UAA29575@skynet.ctr.columbia.edu>
next in thread | raw e-mail | index | archive | help
I've just committed some changes to the xl driver to implement an alternate and hopefully more efficient transmit queueing scheme for 3c90xB adapters. The changes are based on the mechanism used in the 3Com 3c90xB driver for Linux which was just recently released (I didn't use any of the actual 3Com driver code though since it's GPLed). The changes involve using transmit descriptor polling; the NIC is set up to poll the transmit descriptor ring in order to determine when new packets are ready for transmission. The advantage to this is that the host doesn't have to perform any register accesses to the NIC during transmissions: it basically just queues the packets into the transmit ring and the card takes care of the rest. By contrast, the old mechanism requires several register accesses in order to stall the TX engine, queue new packets, update the transmit list pointer register, and then unstall the TX engine again. I've had good results with these changes here, however Murphy's Law applies, which means somebody somewhere will probably stumble over a bug that I missed. If people find that things are horribly broken, I'm prepared to back everything out. The cards for which these changes will have an effect are: - 3c900B-TPO - 3c900B-TPC - 3c900B-COMBO - 3c900B-FL - 3c905B-TX - 3c905B-FX - 3cSOHO100-TX - 3c905C-TX - 3c980-TX - 3c980B-TX - 3c980C-TX If you have one of these cards, you might want to try the following: run systat -iostat 1 and generate some heavy traffic on the xl interface both before upgrading the driver and after. Ideally, CPU and interrupt load should be lower after the driver has been updated. At the very least, there should not be any problems with packet transmission that weren't present before. If somebody notices a problem, please let me know immediately. For that matter, if you notice an improvement, let me know as well. -Bill -- ============================================================================= -Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City ============================================================================= "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" ============================================================================= To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199909200039.UAA29575>