show_stack_lvl() works like show_stack() but allows also passing the log level. The default implementation that should be overrided by architecture specific code simply will call the existing show_stack(). Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Michal Hocko Cc: Greg Thelen Cc: Johannes Weiner Cc: David Rientjes Signed-off-by: Aristeu Rozanski --- include/linux/sched.h | 2 ++ lib/dump_stack.c | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) --- linux-2.6.orig/lib/dump_stack.c 2015-11-05 14:31:44.581921915 -0500 +++ linux-2.6/lib/dump_stack.c 2015-11-05 14:32:47.508211219 -0500 @@ -9,10 +9,16 @@ #include #include +void __weak show_stack_lvl(struct task_struct *task, unsigned long *sp, + char *log_lvl) +{ + return show_stack(task, sp); +} + static void __dump_stack(char *log_lvl) { dump_stack_print_info(log_lvl); - show_stack(NULL, NULL); + show_stack_lvl(NULL, NULL, log_lvl); } /** --- linux-2.6.orig/include/linux/sched.h 2015-11-05 14:31:44.581921915 -0500 +++ linux-2.6/include/linux/sched.h 2015-11-05 14:31:52.426833314 -0500 @@ -368,6 +368,8 @@ extern void show_regs(struct pt_regs *); * trace (or NULL if the entire call-chain of the task should be shown). */ extern void show_stack(struct task_struct *task, unsigned long *sp); +extern void show_stack_lvl(struct task_struct *task, unsigned long *sp, + char *log_lvl); extern void cpu_init (void); extern void trap_init(void); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org