Date: Sat, 5 Apr 1997 18:17:55 -0500 (EST) From: Thomas David Rivers <ponds!rivers@dg-rtp.dg.com> To: ponds!zeta.org.au!bde, ponds!root.com!dg, ponds!freebsd.org!hackers, ponds!lakes.water.net!rivers Subject: Re: "dup alloc"/interrupts and Xresume11() - splbio() not working???? Message-ID: <199704052317.SAA18135@lakes.water.net>
next in thread | raw e-mail | index | archive | help
> > >> > 1) Xresume11() is the vector that is taken when interrupt > >> > 11 is triggered - right? > >> > >> Wrong - _Xintr11 is the vector. > > > But then, why does _Xresume11 call ahaintr()? Which eventually > >gets me down to scsi_done() with _cpl set to splbio? (Or, have > >I misunderstood something else and this isn't necessarily a "bad" > >thing to happen?) > > There is no _Xresume11. Xresume11 is a private label in _Xintr11(). > It's normal for the traceback to show private labels. Nothing bad > there. Oh; I see... I wouldn't have expected a private label to show up in the debugger... That explains that... Now; as to why ahaintr() is called with _cpl shows splbio... any ideas? I was thinking that maybe I'm all confused about as well. I had understood that an splbio() would "mask" all I/O interrupts; but that doesn't make sense as something like the aha1542 isn't just going to interrupt again; is it? Seems there would want to be some queueing mechanism that would notice the _cpl and 'remember' somehow that an interrupt was pending... but I don't see that anywhere. [Of course, I could be staring it in the face and just not know what I'm looking at...] With all of that said - is my understanding that ahaintr() should not be called with I/O interrupts masked by the _cpl - or should it? - Dave Rivers - > > Bruce >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704052317.SAA18135>