Thanks Mulyadi and Rene for replying. On 2/12/08, Rene Herman <rene.herman@xxxxxxxxxxxx> wrote: > On 12-02-08 05:40, Peter Teoh wrote: > > Note that this bit is inside an "#if defined(CONFIG_X86)" block meaning that > only the the one(s) below arch/x86 are related: > Ah..the above is the KEY...now I know why the bug did not appear. Ok....just looking at the following symbols I have found: ./kernel/sysctl.c: .procname = "kstack_depth_to_print", .data = &kstack_depth_to_print, ./arch/m68k/kernel/traps.c: static int kstack_depth_to_print = 48; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/m68knommu/kernel/traps.c: int kstack_depth_to_print = 48; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/um/kernel/sysrq.c: static const int kstack_depth_to_print = 24; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/blackfin/kernel/traps.c: int kstack_depth_to_print = 48; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/x86/kernel/traps_64.c: int kstack_depth_to_print = 12; for(i=0; i < kstack_depth_to_print; i++) { kstack_depth_to_print = simple_strtoul(s,NULL,0); ./arch/x86/kernel/traps_32.c: int kstack_depth_to_print = 24; for(i = 0; i < kstack_depth_to_print; i++) { kstack_depth_to_print = simple_strtoul(s, NULL, 0); ./arch/m32r/kernel/traps.c: int kstack_depth_to_print = 24; for(i=0; i < kstack_depth_to_print; i++) { ./arch/powerpc/kernel/process.c: static int kstack_depth_to_print = 64; } while (count++ < kstack_depth_to_print); ./arch/h8300/kernel/traps.c: static int kstack_depth_to_print = 24; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/xtensa/kernel/traps.c: static int kstack_depth_to_print = 24; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/alpha/kernel/traps.c: static int kstack_depth_to_print = 24; for(i=0; i < kstack_depth_to_print; i++) { ./arch/s390/kernel/traps.c: static int kstack_depth_to_print = 12; static int kstack_depth_to_print = 20; for (i = 0; i < kstack_depth_to_print; i++) { ./arch/cris/kernel/traps.c: static int kstack_depth_to_print = 24; for (i = 0; i < kstack_depth_to_print; i++) { ./include/asm-x86/stacktrace.h: extern int kstack_depth_to_print; ./include/asm/stacktrace.h: extern int kstack_depth_to_print; The symbol for x86 are declared correctly - global, and other files can access it via extern in the stacktrace.h header file. But for many other architecture, eg, cris, kstack_depth is declared as static, and therefore sysfs CANNOT change it (thanks Rene for pointing out sysctl.c is only doing it for x86 anyway) - since sysctl.c cannot see the variable even if CONFIG_X86 is taken away. Anyway, in summary, for x86 and some architecture, kstack_depth can be controlled via sysfs, but for others it is hardcoded. not sure why, hardware depedent? -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ