linux-mips-fnet
[Top] [All Lists]

Re: interrupts

To: Thomas Riemer <triemer@apt4g.a3nyc.com>, linux-mips@fnet.fr
Subject: Re: interrupts
From: ralf@uni-koblenz.de
Date: Fri, 25 Dec 1998 20:37:04 +0100
In-reply-to: <Pine.LNX.3.96.981222211551.28642G-100000@apt4g.a3nyc.com>; from Thomas Riemer on Tue, Dec 22, 1998 at 11:46:06PM -0500
References: <Pine.LNX.3.96.981222211551.28642G-100000@apt4g.a3nyc.com>
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.

  Ralf

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