--- 2.4.10pre2aa3/arch/alpha/kernel/traps.c.~1~ Sat Sep 1 16:21:24 2001 +++ 2.4.10pre2aa3/arch/alpha/kernel/traps.c Sat Sep 1 18:22:14 2001 @@ -98,6 +98,18 @@ printk("\n"); } +void show_trace_task(struct task_struct * tsk) +{ + struct thread_struct * thread = &tsk->thread; + unsigned long fp, sp = thread->ksp, base = (unsigned long) thread; + + if (sp > base && sp+6*8 < base + 16*1024) { + fp = ((unsigned long*)sp)[6]; + if (fp > sp && fp < base + 16*1024) + dik_show_trace((unsigned long *)fp); + } +} + int kstack_depth_to_print = 24; void show_stack(unsigned long *sp) --- 2.4.10pre2aa3/kernel/sched.c.~1~ Sat Sep 1 16:21:29 2001 +++ 2.4.10pre2aa3/kernel/sched.c Sat Sep 1 18:00:53 2001 @@ -1242,7 +1242,7 @@ else printk(" (NOTLB)\n"); -#if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_ARM) +#if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_ARM) || defined(CONFIG_ALPHA) /* This is very useful, but only works on ARM, x86 and sparc64 right now */ { extern void show_trace_task(struct task_struct *tsk);