Re: Infinite do_IRQ

From: Zwane Mwaikambo
Date: Wed Nov 19 2003 - 03:50:13 EST


On Wed, 19 Nov 2003, Sumit Pandya wrote:

> Hi All,
> I'm running 2.4.22 kernel on Pentium-III processor with following few
> patches
> 1. ebtables-brnf-3_vs_2.4.22.diff
> 2. routes-2.4.22-9.diff (Julean's DGD)
> 3. nfnetlink-ctnetlink-0.12-2.patch
> 4. htb_3.12_3.13.diff

That's quite the patch cocktail, perhaps they need some auditing on stack
usage.

> After running it for few time suddenly it hangs and I get continuous
> "do_IRQ: stack overflow:" messages on my serial console. I'm using ttywatch
> for reading console output on other Linux System.
>
> Also I'd like some opinion about the patch posted on
> http://www.ussg.iu.edu/hypermail/linux/kernel/0301.2/0232.html
> Here, why "struct task_struct" is replaced with "struct thread_info"? Is
> that only for 2.5.X/2.6.X series only?

Yes that patch was 2.5/6 specific.

> I'd also like to draw your attention on one more patch by Joern Engel
> (He is in CC list)
> http://wh.fh-wedel.de/~joern/software/kernel/je/24/.patches/stack_overflow.p
> atch
> Are these patches safe to apply? What could be pros and cons if these
> patches are applied into 2.4.22 kernel.

+#if 0
+ if (unlikely(esp < (sizeof(struct task_struct) + 1024))) {
+#else
+ /* We check for 5k for now. The kernel stack still is 8k,
+ * but should shrink to 4k, so this test makes sense.
+ * Once the stack is 4k, we go back to the old test.
+ */
+ if (unlikely(esp < (sizeof(struct thread_info) + 5120))) {
+#endif

The i386 stack grows downwards, so if anything it'll report even earlier
than what you're hitting now. I'd recommend backing out those patches one by
one until you find out the offending patch and then perhaps do the stack
usage audit from there.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/