Subject: splusb()
To: None <tech-kern@netbsd.org>
From: Rui Paulo <rpaulo@fnop.net>
List: tech-kern
Date: 04/28/2006 23:33:49
So, I've been discussing with SODA-san why we would need another spl
for USB and I guess we reached some points:

    * we need splusb/splsoftusb because some devices need high
    priority than splbio, think for example USB audio (any DELAY()
    under splnet will block USB audio interrupts).

    * currently we have splhardusb() and splusb(). They are not real
    spl's and are defined by on some compile time options to splbio or
    something else.

    * we have no splhard<something>() so splhardusb/splusb don't
    follow our naming convention. Most likely we would need to make
    splsoftusb == current splusb and make splhardusb == splusb.

    * we should probably define splusb under splvm and spltty (I'm
      ignoring the current problem of spltty being lower priority than
      splnet -- maybe it's time to fix this ?)

Now some questions:

    * the USB host controller should be under splusb, what what about
      the leaf devices ? can we work with USB network controllers
      under splnet ?

    * will the cross BSD compatibilty be affected by such change ?


Now, time for some coffee.

-- 
  Rui Paulo			<rpaulo@{NetBSD{,-PT}.org,fnop.net}>