File:  [NetBSD Developer Wiki] / wikisrc / projects / project / mpsafe_net_driver.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Wed Sep 9 13:32:12 2020 UTC (21 months, 2 weeks ago) by kim
Branches: MAIN
CVS tags: HEAD
Use man template

[[!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 [[!template id=man name="re" section="4"]] (QEMU)
* Atheros ethernet [[!template id=man name="alc" section="4"]]

<!-- XXX list more -->


[[!tag gsoc]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb