Messages in this thread Patch in this message | | | Date | Fri, 7 Oct 2005 15:42:48 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: 2.6.14-rc3-rt10 crashes on boot |
| |
John, Please don't strip the CC list. Ingo may want to see what's happening, and besides, it's not proper netiquette for LKML.
On Fri, 7 Oct 2005, John Rigg wrote:
> On Friday, October 7 Steve Rostedt wrote: > > >Add this patch and it will add the option for you in x86_64 (I forgot that > >you were using that). I even set it to be default on. I didn't add a test > >in do_IRQ, but I believe that the tests in latency.c should be good > >enough. > > Hi Steve, > > Thanks for the patch. I applied it to 2.6.14-rc3-rt12, looked in > arch/x86_64/Kconfig.debug just to be sure it applied OK to -rt12, > then ran make. It failed to compile, with the following message: > > CC kernel/rt.o > CC kernel/latency.o > kernel/latency.c: In function '__print_worst_stack': > kernel/latency.c:336: warning: format '%d' expects type 'int', but argument 5 has type 'long unsigned int' > kernel/latency.c:384:3: error: #error Poke the author of above asm code line ! > kernel/latency.c: In function 'debug_stackoverflow': > kernel/latency.c:386: error: 'STACK_WARN' undeclared (first use in this function) > kernel/latency.c:386: error: (Each undeclared identifier is reported only once > kernel/latency.c:386: error: for each function it appears in.) > make[1]: *** [kernel/latency.o] Error 1 > make: *** [kernel] Error 2 > > I wonder if DEBUG_STACKOVERFLOW was left out of x86_64 for this reason. >
Here's an addon patch to my last one. I don't know x86_64 very well, but I believe the the asm is pretty much the same, so this patch removes the check for __i386__ and also defines STACK_WARN.
I'm leaving for the weekend, so you are now on your own. Unless you get help from others. ;-)
-- Steve
Index: linux-rt-quilt/include/asm-x86_64/page.h =================================================================== --- linux-rt-quilt.orig/include/asm-x86_64/page.h 2005-10-06 08:04:00.000000000 -0400 +++ linux-rt-quilt/include/asm-x86_64/page.h 2005-10-07 15:34:20.000000000 -0400 @@ -21,6 +21,8 @@ #endif #define CURRENT_MASK (~(THREAD_SIZE-1))
+#define STACK_WARN (THREAD_SIZE/8) + #define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1)) #define LARGE_PAGE_SIZE (1UL << PMD_SHIFT)
Index: linux-rt-quilt/kernel/latency.c =================================================================== --- linux-rt-quilt.orig/kernel/latency.c 2005-10-06 08:04:56.000000000 -0400 +++ linux-rt-quilt/kernel/latency.c 2005-10-07 15:31:20.000000000 -0400 @@ -377,7 +377,8 @@ atomic_inc(&tr->disabled);
/* Debugging check for stack overflow: is there less than 1KB free? */ -#ifdef __i386__ +#if 1 // def __i386__ + /* Hopefully this works on x86_64! */ __asm__ __volatile__("andl %%esp,%0" : "=r" (stack_left) : "0" (THREAD_SIZE - 1)); #else - 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/
| |