Skip site navigation (1)Skip section navigation (2)
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>