Resend with subject: No more non-MPSAFE network device drivers,
sem at FreeBSD.org
Mon May 22 13:56:04 UTC 2006
Robert Watson wrote:
> This e-mail is just to remind device driver authors of something that I hope they were already aware of: as FreeBSD has been shipping with a network stack largely capable of running without Giant since the 5.x series, we will no longer be accepting new network device drivers that require Giant compatibility to function. This is true both for UP and SMP systems.
> Non-MPSAFE network device driver compatibility adds significant overhead to the operation of the network stack, and non-MPSAFE network device drivers pay a very high overhead to operate in the current environment. The compatibility code also complicates calling components which do not hold Giant, especially with regard to management ioctls.
> We have also discussed requiring that all network device drivers in the system for 7.0 be able to operate MPSAFE. This runs into some issues due to non-MPSAFEty of some key device driver subsystems, including Firewire, USB, and the TTY subsystem. Poul-Henning is in the process of working on MPSAFE tty support, and I hope that people will step up to the plate to work on the remaining subsystems in the near future. That way we will be able to remove the compatibility code, and continue cleanup and optimization work.
> Robert N M Watson
Looks like there are no developers right now who could rewrite USB stack
to be MPSAFE. So all USB-Ethernet are broken.
I gald if I mistake.
More information about the freebsd-arch