Annotation of wikisrc/projects/project/mpsafe_net_driver.mdwn, revision 1.4

1.1       maya        1: [[!template id=project
                      2: 
1.3       martin      3: title="Making a network driver MPSAFE (175h)"
1.1       maya        4: 
                      5: contact="""
                      6: [tech-net](mailto:tech-net@NetBSD.org)
                      7: """
                      8: 
                      9: category="kernel"
                     10: difficulty="easy"
1.3       martin     11: duration="175h"
1.1       maya       12: 
                     13: description="""
                     14: 
                     15: Access to some hardware registers and other things can only be done by one CPU at a time.  
                     16: 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.  
                     17: This is inefficient, if you ever want to use more than one core, for faster performing cards.
                     18: 
                     19: Adapting old drivers to be able to run with the rest of the network stack not having this lock will improve NetBSD networking.  
                     20: A large number of drivers must be adapted, and some of them can be emulated from virtual machines too, some examples:  
                     21: 
1.4     ! wiki       22: * Realtek RTL8139 Gigabit Ethernet [[!template id=man name="re" section="4"]] (supported by QEMU)
        !            23: * AMD PCnet [[!template id=man name="pcn" section="4"]] (supported by QEMU and VMware)
        !            24: * Novell NE1000 [[!template id=man name="ne" section="4"]]  (supported by QEMU)
        !            25: * Atheros/Killer Gigabit Ethernet [[!template id=man name="alc" section="4"]]
        !            26: * Attansic Gigabit Ethernet [[!template id=man name="ale" section="4"]]
        !            27: * Broadcom Gigabit Ethernet [[!template id=man name="bge" section="4"]]
        !            28: * Broadcom NetXtreme [[!template id=man name="bnx" section="4"]]
        !            29: 
        !            30: You may find others listed in [[!template id=man name="pci" section="4"]].
        !            31: It is possible you have a computing device with a device for which the driver
        !            32: hasn't been converted yet.
        !            33: 
        !            34: The file `src/doc/TODO.smpnet` in the NetBSD source tree contains a list of fully
        !            35: converted drivers that you may use an an example, as well as some general guidelines.
1.1       maya       36: 
1.3       martin     37: When applying for this project, please note which driver you would like
                     38: to work on.
1.1       maya       39: """
                     40: 
                     41: ]]
                     42: 
                     43: [[!tag gsoc]]
1.3       martin     44: [[!tag gsoc175h]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb