[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070319124114.GA13850@flint.arm.linux.org.uk>
Date: Mon, 19 Mar 2007 12:41:14 +0000
From: Russell King <rmk+lkml@....linux.org.uk>
To: railroad seeker <railroad.seeker@...il.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: Scheduling in interrupt and call trace
On Mon, Mar 19, 2007 at 08:37:57PM +0800, railroad seeker wrote:
> After that, the program counter must located in BUG(), that is something
> like
> "(void *)0 = 0" if we really do scheduling in interrupt contxt, and
> should cause
> the kernel to panic. However, what i got is that the latest program
> counter is located within the do_IRQ() context when the kernel was
> crashed . But it
> seems that the stack trace is a kernel stack of process context since
> the bottom of the stack is ret_from_syscall. (I have not enabled the
> frame pointer when compiling the kernel, instead, I back traced by
> manually inspect each 32 bit value
> from the output of objdump) , and I think that the latest PC should
> point to the next instruction of "(void *) 0 = 0".
>
> Is there any possibility with which we got this incorrect information,
> or I have
> misunderstanding about "kernel system to interrupt context switch?
Please enable frame pointers and show the resulting backtrace; it is
possible that trying to manually decode the stack without frame
pointers enabled will result in a confused backtrace.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists