Skip site navigation (1)Skip section navigation (2)
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>