Re: question about do_IRQ + 4k stacks
From: Brian Gerst (bgerst_at_didntduck.org)
Date: 03/31/05
- Previous message: Patrick Mochel: "Re: klists and struct device semaphores"
- In reply to: Terence Ripperda: "question about do_IRQ + 4k stacks"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 30 Mar 2005 21:14:22 -0500 To: Terence Ripperda <tripperda@nvidia.com>
Terence Ripperda wrote:
> I'm investigating some 4k stack issues with our driver, and I noticed
> this ordering in do_IRQ:
>
> asmlinkage unsigned int do_IRQ(struct pt_regs regs)
> {
> ...
>
> #ifdef CONFIG_DEBUG_STACKOVERFLOW
> /* Debugging check for stack overflow: is there less than 1KB free? */
> {
> ...
> }
> #endif
>
> ...
>
> #ifdef CONFIG_4KSTACKS
>
> for (;;) {
> ... switch to interrupt stack
> }
> #endif
>
>
> Is the intention of this stack overflow check to catch a currently
> running kernel thread that's getting low on stack space, or is the
> intent to make sure there's enough stack space to handle the incoming
> interrupt? if the later, wouldn't you want to potentially switch to
> your interrupt stack to be more accurate? (I recognize that often you
> will have switched to an empty stack, unless you have nested
> interrupts)
>
It checks for both process context (system call or kernel thread) or
interrupt context (nested irqs) stack overflows.
-- Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Previous message: Patrick Mochel: "Re: klists and struct device semaphores"
- In reply to: Terence Ripperda: "question about do_IRQ + 4k stacks"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|