File:  [NetBSD Developer Wiki] / wikisrc / projects / project / mpsafe_net_driver.mdwn
Revision 1.1: download - view: text, annotated - select for diffs
Fri Jan 18 14:36:47 2019 UTC (3 years, 5 months ago) by maya
Branches: MAIN
CVS tags: HEAD
Add "make a network driver MPSAFE"

(All the additions could use more detail, including this one!)

[[!template id=project

title="Making a network driver MPSAFE"


duration="1 month"


Access to some hardware registers and other things can only be done by one CPU at a time.  
An easy way to do this is to make the entire network stack runs with a single lock held, so operations only take place on one core.  
This is inefficient, if you ever want to use more than one core, for faster performing cards.

Adapting old drivers to be able to run with the rest of the network stack not having this lock will improve NetBSD networking.  
A large number of drivers must be adapted, and some of them can be emulated from virtual machines too, some examples:  

* [RealTek ethernet]( (QEMU)
* [Atheros ethernet](

<!-- XXX list more -->


[[!tag gsoc]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb