interrupt handlers in -current

M. Warner Losh imp at bsdimp.com
Thu Jun 5 17:14:44 PDT 2003


In message: <XFMail.20030606002657.dmlb at dmlb.org>
            Duncan Barclay <dmlb at dmlb.org> writes:
: 
: On 05-Jun-2003 M. Warner Losh wrote:
: > In message: <XFMail.20030605220236.dmlb at dmlb.org>
: >             Duncan Barclay <dmlb at dmlb.org> writes:
: >: This is more of a confirmation of my understanding than anything else.
: >: In -current, should an interrupt thread be created you set up an interrupt
: >: handler? If so, then I'd better check my code because I haven't got one!
: > 
: > No.  Just because we handle interrupts in a thread doesn't mean client
: > devices need to create a thread.  The thread is creted automatically
: > and the routine passed to bus_setup_intr() is then called when an
: > interrupt happens.
: 
: Rereading what I wrote, I might have mistyped and asked the wrong question.
: 
: I think what you saying is that bus_setup_intr() doesn't create the thread,
: (in the sense of it appear in ps -ax?)
: but a thread is created automatically when the first interrupt occurs?

The thread is created right away.  However, if this interrupt is
shared with another device, you'll see seomthing like:

root        23  0.0  0.0     0   12  ??  WL   11:35AM   0:04.24  (irq10: cbb0 cbb1++)

which says taht cbb0 and cbb1 (and others) share irq10.

: > So you are doing bus_setup_intr() and that routine is never called?
: 
: Yup.

OK.  Are you sharing interrupts?  If so, can you see if the interrutp
is even happening?  Can you force the card to interrupt right away?
Many cards have a force interrupt bit, so that one can detect if the
interrupts are wired right.

: If I load the kld for the driver and it attaches, nothing appears
: in vmstat -i, or ps -ax. Unfortunately, I've screwed up a lock in the ioctl
: hander and witness is panic'ing when I ifconfig the interface. As it
: is now bedtime I'll fix it tomorrow morning and report back.

OK.  You may or may not see anything.  I kldload if_an and get the
above ps line as the only evidence that happened.

: Anyway, I'm pleased with my progress as I can see arp requests hitting
: the wire before it panics.

Cool!  Lemme know if there's anything else I can do help.

Warner


More information about the freebsd-hackers mailing list