Date: Thu, 05 Jun 2003 18:14:30 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: dmlb@dmlb.org Cc: freebsd-hackers@freebsd.org Subject: Re: interrupt handlers in -current Message-ID: <20030605.181430.22017364.imp@bsdimp.com> In-Reply-To: <XFMail.20030606002657.dmlb@dmlb.org> References: <20030605.170134.132933173.imp@bsdimp.com> <XFMail.20030606002657.dmlb@dmlb.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <XFMail.20030606002657.dmlb@dmlb.org> Duncan Barclay <dmlb@dmlb.org> writes: : : On 05-Jun-2003 M. Warner Losh wrote: : > In message: <XFMail.20030605220236.dmlb@dmlb.org> : > Duncan Barclay <dmlb@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030605.181430.22017364.imp>