Network-related device drivers and MPSAFEty: status, and plans for 7.0

M. Warner Losh imp at bsdimp.com
Mon Jul 18 20:13:45 GMT 2005


# here's my take on the list as the PC Card maintainer, with two side
# comments about really old hardware.


In message: <20050718183717.N9430 at fledge.watson.org>
            Robert Watson <rwatson at freebsd.org> writes:
: These drivers are often aging ISA device drivers, and 

Many of these are also PC Card devices.  For wired Ethernet devices,
I'd say that NE-200 cards (ed) are the most popular, 3Com cards (ep)
are next.  Then Xircom cards (xe).  Then there's a bit of a gap in
popularity and you have fe/sn as the next most popular (not sure which
is more popular, maybe fe).  Then a huge gap for the stragglers: cs,
ex, snc.

So here's my breakdown of the PC Card drivers in terms of importants
for currently readily available hardware:

Tier 1		Gotta do, or we'll get boatload of complaints
	ed, xe, an
Tier 2		Really nice to have.  People will notice.
	fe, sn
Tier 3		Only Warner would notice, unless we remove it in which
		case more folks would notice.
	cs, ex
Tier 4		Anybody using these at all?  If not, time to die?
	awi, cnw, ray, owi

(note: Tiers are just a word here, not a formalism ala the handbook)

I've not considered what ISA cards might still be in use and popular,
and this is my own opinion.  And I'm offering it up as a guide to
those folks casting about for projects to do.  Please don't take it as
a demand on anybdoy's time.  Look at it as feedback for setting
priorities.

I'll likely also do some locking myself, but I'm not going to block
anybody by saying which drivers :-)

My detailed comments about the hardware follow.  The vx driver is the
only one that's not a PC Card that I've commented on since it is
related to a PC Card driver.  Well, and the humble wl driver.

: if_an		Aironet Communications 4500/4800 wireless network adapter
: 		driver.  Mutexes present and exercised; not marked
: 		IFF_NEEDSGIANT, but not marked INTR_MPSAFE.  Maybe we can
: 		just throw the switch?

These are relatively popular cards.  I think efforts should be made
here as many are still in service.

: if_owi	Lucent Hermes, Intersil PRISM and Spectrum24 IEEE 802.11
: 		driver (old).  Mutexes present and exercised, not marked
: 		MPSAFE.

This driver can be removed from the tree completely.  And it only
supports Hermes I cards :-).

: if_aue, if_axe, if_cdce, if_cue, if_kue, if_rue, if_udav, if_ural
: 		Countless USB device drivers -- locking present,
: 		exercised, but all running under Giant, presumably due to
: 		the USB framework.  Someone has a big TODO item here.

USB is indeed a huge todo item for someone.

: if_wl		T1 speed ISA/radio lan card.  Mutexes present and
: 		exercised, not marked IFF_NEEDSGIANT, but not marked
: 		INTR_MPSAFE.  Easy to fix?

I have this hardware, but it is a pre-802.11 card with crappy
performance compared to more modern hardware.  I doubt anyone will
care about it :-).  It is an ISA card.

: if_awi	AMD PCnetMobile IEEE 802.11 PCMCIA wireless network
:  		driver -- no locks at all.

This is a 2MBps 802.11 card.  I'd rate it a low priority.

: if_cnw	Netwave AirSurfer wireless network driver -- no locks at
:  		all.

This is a pre-802.11 card.  I have two in my basement that I've not
connected in about 4 years.  No clue if the driver even works now, nor
really any idea how to setup and test it.

: if_cs		Crystal Semiconductor CS8900 and CS8920 NICs -- no locks
:  		at all.

A few PC Cards made by IBM use this chip.

: if_ed		NE-2000 and WD-80x3 Ethernet driver -- no locks at all.

The single most popular PC Card ethernet solution.  We have *GOT* to
get this done.  It would be our number one priority of the PC Cards.

: if_ex		Ethernet device driver for the Intel EtherExpress Pro/10
:  		and Pro/10+ -- macros defined, but no locking at all.

A few PC Cards were based on this.  Including the only Ethernet +
Serial cards I'm aware of.

: if_fe		Fujitsu MB86960A/MB86965A based Ethernet adapters -- no
:  		locks at all.

Popular cards in Japan for a while, so you can find these in the
market for 500 yen, or could on my last trip to Japan.  In the US they
were sold, but are rarer.  These are the forth most common
card.

: if_ray	Raytheon Raylink/Webgear Aviator PCCard driver -- no locks
:  		at all.

These are 802.11 cards, but frequency hopping, not spread spectrum.
I'd rate it as higher than cnw, but lower than awi.

: if_snc	National Semiconductor DP8393X SONIC Ethernet adapter
:  		driver -- no locks at all.

As far as I know, this is for a PC-98 PC Card.  It can be made to
work, I think, on x86, but I've had no luck with it. Fairly rare
cards.

: if_vx		3Com EtherLink III / Fast EtherLink III (3c59x) Ethernet
:  		driver -- no locks at all.

The alternative to locking this driver is adding DMA support to the ep
driver.  I know Matt Dodd has been talking about that for a while
now..

: if_xe		Xircom PCMCIA Ethernet device driver -- no locks at all.

Fairly popular ethernet cards.  I think efforts should be made here.

Warner


More information about the freebsd-arch mailing list