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

Poul-Henning Kamp phk at phk.freebsd.dk
Tue Jul 19 08:31:52 GMT 2005


In message <20050718183717.N9430 at fledge.watson.org>, Robert Watson writes:
>
>This e-mail is about the second category -- device drivers which still run 
>with or require Giant.  These in turn can be broken out into two 
>categories:
>
>- Device drivers that appear to have been modified to run MPSAFE, and are
>   possibly running partly Giant-free (i.e., perhaps the outbound path but
>   not interrupt handler, or vice versa).
>
>- Device drivers that haven't been touched and rely on Giant entirely.

Can I add a little item to this project ?

Some of the mii/phy drivers we have are specific to just one particular
network driver.

For instance I belive the brgphy.c is only ever used with the if_bge
driver.

These mii/phy drivers should be moved out of the miibus group and
into the specific driver so that they only get put in the kernel
if the driver is in the kernel.

Currently, if a kernel is cut down to only a single driver for
instance if_sis the brgphy.c driver is still compiled in because
miibus pulls it in despite the fact that if_bge is not there.

The practical change is the change sys/conf/files to compile the mii/phy
driver files on the same option as the device driver, and to take
the source files out of the miibus module kld and put them into
the driver module.

Poul-Henning

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-arch mailing list