Messages in this thread | | | Subject | Re: [PATCHv3 11/50] c6x: Add show_stack_loglvl() | From | Tetsuo Handa <> | Date | Sun, 26 Apr 2020 10:06:06 +0900 |
| |
On 2020/04/26 3:18, Joe Perches wrote: > On Sat, 2020-04-18 at 21:19 +0100, Dmitry Safonov wrote: >> Currently, the log-level of show_stack() depends on a platform >> realization. It creates situations where the headers are printed with >> lower log level or higher than the stacktrace (depending on >> a platform or user). > [] >> diff --git a/arch/c6x/kernel/traps.c b/arch/c6x/kernel/traps.c > [] >> @@ -344,12 +344,13 @@ asmlinkage int process_exception(struct pt_regs *regs) >> >> static int kstack_depth_to_print = 48; >> >> -static void show_trace(unsigned long *stack, unsigned long *endstack) >> +static void show_trace(unsigned long *stack, unsigned long *endstack, >> + const char *loglvl) >> { >> unsigned long addr; >> int i; >> >> - pr_debug("Call trace:"); >> + printk("%sCall trace:", loglvl); > > These are not equivalent transforms as pr_debug > is compiled to nothing unless DEBUG is defined > or CONFIG_DYNAMIC_DEBUG is enabled.
I guess this user is expecting pr_debug() as unconditional printk(KERN_DEBUG), for show_trace() and show_stack() will become waste of code if pr_debug() prints nothing. If this user wants pr_debug() to be conditional, #ifdef'ing these functions is the better.
> > Perhaps all the conversions should be checked > for these "not the same" object code changes. >
| |