[Top] [All Lists]

Re: interrupts

To: Thomas Riemer <>,
Subject: Re: interrupts
Date: Fri, 25 Dec 1998 20:37:04 +0100
In-reply-to: <>; from Thomas Riemer on Tue, Dec 22, 1998 at 11:46:06PM -0500
References: <>
On Tue, Dec 22, 1998 at 11:46:06PM -0500, Thomas Riemer wrote:

> I get a message from mm/fault.c - indicating that I'm
> getting a "page fault from irq handler 0001 "  which I traced back
> to in_interrupt() going high - looks like because I'm both in
> a hardware interrupt and in bh handler.  

in_interrupt() indicates that you are in an interrupt OR in a bottom half
handler, not in both.

> So now I know that I'm not doing something right - but having
> staired at the code for several hours now I'm drawing an absolute
> blank.  
> It looks like I'm getting a hardware interrupt for 0001 (DISK I think)
> and that there is bh handler running.  Its not clear whether this is 
> the disk bh handler or the serial dz handler that's set up.  Either
> way its worrisome.  
> Is there anyway for me to determine which bh handler I'm in?

No, that information is not visible outsid of run_bottom_halfes() in
kernel/softirq.c.  It's a trivial function so you could easily add some
debugging code.

In any case the epc of a register dump in do_fault when in_interrupt is
true should point you to the offending instruction, the necessary change
to print such a register dump would be trivial.


<Prev in Thread] Current Thread [Next in Thread>