lkml.org 
[lkml]   [2020]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCHv3 11/50] c6x: Add show_stack_loglvl()
From
Date


On 4/26/20 2:06 AM, Tetsuo Handa wrote:
> 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.

Agree.

>> Perhaps all the conversions should be checked
>> for these "not the same" object code changes.

I've checked other architectures - it seems only c6x was printing
backtraces with pr_debug().

Is there a user for hiding all backtraces?
If there is, I think it's better to ifdef-out show_stack() under a new
config HIDE_BACKTRACES or something.

Thanks,
Dmitry

\
 
 \ /
  Last update: 2020-04-27 16:32    [W:0.057 / U:0.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site