Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 May 2006 14:40:04 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        arch@FreeBSD.org
Subject:   (no subject)
Message-ID:  <20060522143521.J21787@fledge.watson.org>

next in thread | raw e-mail | index | archive | help

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.

Thanks,

Robert N M Watson



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060522143521.J21787>