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