Date: Sat, 4 May 2002 09:30:56 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: Michael Smith <msmith@freebsd.org> Cc: hackers@freebsd.org Subject: Re: naive i386 && FreeBSD interrupt question Message-ID: <Pine.BSF.4.21.0205040927250.21947-100000@beppo> In-Reply-To: <200205040626.g446Q9h00791@mass.dis.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 3 May 2002, Michael Smith wrote: > > > > This was -stable- but it's really a hacker's question. > > > > I really am *not* much of an i386 weenie and I'll have to admit that I don't > > fully understand the interrupt mask scheme and I ran into a troubling problem > > . > > > > I was running some very extensive tests on a dual processor (but not SMP > > configured) system- I was in the middle of calling busdma_load from the isp > > driver when I got interrupted and blew up fielding an isp interrupt. > > You call isp_intr out of isp_watchdog; any chance that the timeout could > have gone off and dumped you in there? The callstack didn't show isp_watchdog- it also calls splcam() > > Otherwise, no, you should not have had your interrupt handler reentered > while it was masked. You shouldn't have to call splsoftvm() when calling > the busdma code; it should take whatever locks it needs at the time. > > Knowing the contents of cpl vs. the CAM spl mask and the actual interrupt > in question would be useful, as would the stack backtrace from the > explosion (ie. when you say "got interrupted" was the backtrace through > the actual interrupt entry point?) > Yes- that's the problematic thingie. I haven't reproduced it yet and didn't save the stack, but basically it was in the middle of call to the budma code when isp_intr was executed. If I see it again, I'll stay in DDB and spend more time. This was at a client's lab and running maybe 5000+ interrupts/sec pumping stuff thru Fibre Channel. -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0205040927250.21947-100000>