Josef Karthauser wrote:
> Do we have soft interrupts?
> 
> Here's a bit of code from the NetBSD usb stack, and I'm trying to work
> out what it would be in FreeBSDland.
> 
>         sc->sc_bus->soft = softintr_establish(IPL_SOFTNET,
>             sc->sc_bus->methods->soft_intr, sc->sc_bus);
>         if (sc->sc_bus->soft == NULL) {
>                 printf("%s: can't register softintr\n", USBDEVNAME(sc->sc_dev
    ));
>                 sc->sc_dying = 1;
>                 USB_ATTACH_ERROR_RETURN;
>         }
> 
> Can someone point me to a man page please?
> 
> Joe

You probably want to have a good look at usb_ethersubr.c - it does this
sort of thing already, but for different reasons.  On FreeBSD, the usb
hardware interrupts ran (pre-SMPng) as bio, not net.  All of the
assumptions, problems and workarounds for this from pre-SMPng are now
invalid or irrelevant.  usb_ethersubr.c can be gutted right down now
since splnet and splbio are irrelevant.  The problems that NetBSD
has to deal with are no longer the same for us.  The softint stuff
is probably harmful for us because it would mean an *extra* context
switch. (from the uhci/ohci ithread to the swinet ithread).

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to