public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Dmitry Safonov <dima@arista.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	Dmitry Safonov <0x7f454c46@gmail.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ingo Molnar <mingo@kernel.org>, Jiri Slaby <jslaby@suse.com>,
	Petr Mladek <pmladek@suse.com>,
	Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	Chris Zankel <chris@zankel.net>,
	Max Filippov <jcmvbkbc@gmail.com>,
	linux-xtensa@linux-xtensa.org
Subject: Re: [PATCHv3 42/50] xtensa: Add loglvl to show_trace()
Date: Mon, 11 May 2020 22:45:34 +0300	[thread overview]
Message-ID: <20200511194534.GA1018386@kernel.org> (raw)
In-Reply-To: <20200418201944.482088-43-dima@arista.com>

Hi,

On Sat, Apr 18, 2020 at 09:19:36PM +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).
> 
> Furthermore, it forces the logic decision from user to an architecture
> side. In result, some users as sysrq/kdb/etc are doing tricks with
> temporary rising console_loglevel while printing their messages.
> And in result it not only may print unwanted messages from other CPUs,
> but also omit printing at all in the unlucky case where the printk()
> was deferred.
> 
> Introducing log-level parameter and KERN_UNSUPPRESSED [1] seems
> an easier approach than introducing more printk buffers.
> Also, it will consolidate printings with headers.
> 
> Add log level argument to show_trace() as a preparation for introducing
> show_stack_loglvl().
> 
> Cc: Chris Zankel <chris@zankel.net>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> Cc: linux-xtensa@linux-xtensa.org
> [1]: https://lore.kernel.org/lkml/20190528002412.1625-1-dima@arista.com/T/#u
> Signed-off-by: Dmitry Safonov <dima@arista.com>
> ---
>  arch/xtensa/kernel/traps.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c
> index 0976e27b8d5d..c397a02457bc 100644
> --- a/arch/xtensa/kernel/traps.c
> +++ b/arch/xtensa/kernel/traps.c
> -void show_trace(struct task_struct *task, unsigned long *sp)
> +static void show_trace(struct task_struct *task, unsigned long *sp,
> +		       const char *loglvl)
>  {
>  	if (!sp)
>  		sp = stack_pointer(task);
>  
> -	pr_info("Call Trace:\n");
> -	walk_stackframe(sp, show_trace_cb, NULL);
> +	printk("%sCall Trace:\n", loglvl);
> +	walk_stackframe(sp, show_trace_cb, (void *)loglvl);
>  }
>  
>  #define STACK_DUMP_ENTRY_SIZE 4
> @@ -511,7 +515,7 @@ void show_stack(struct task_struct *task, unsigned long *sp)
>  	print_hex_dump(KERN_INFO, " ", DUMP_PREFIX_NONE,
>  		       STACK_DUMP_LINE_SIZE, STACK_DUMP_ENTRY_SIZE,
>  		       sp, len, false);
> -	show_trace(task, sp);
> +	show_trace(task, stack, KERN_INFO);

it should have been

	show_trace(task, sp, KERN_INFO);

Andrew, can you fold the following patch as a fixup please:


diff --git a/arch/xtensa/kernel/traps.c b/arch/xtensa/kernel/traps.c
index f9217b6b45c8..efc3a29cde80 100644
--- a/arch/xtensa/kernel/traps.c
+++ b/arch/xtensa/kernel/traps.c
@@ -515,7 +515,7 @@ void show_stack(struct task_struct *task, unsigned long *sp, const char *loglvl)
 	print_hex_dump(loglvl, " ", DUMP_PREFIX_NONE,
 		       STACK_DUMP_LINE_SIZE, STACK_DUMP_ENTRY_SIZE,
 		       sp, len, false);
-	show_trace(task, stack, loglvl);
+	show_trace(task, sp, loglvl);
 }
 
 DEFINE_SPINLOCK(die_lock);
-- 
2.26.1


-- 
2.26.1


>  }
>  
>  DEFINE_SPINLOCK(die_lock);
> -- 
> 2.26.0
> 

-- 
Sincerely yours,
Mike.

  reply	other threads:[~2020-05-11 19:45 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200418201944.482088-1-dima@arista.com>
2020-04-18 20:18 ` [PATCHv3 01/50] kallsyms/printk: Add loglvl to print_ip_sym() Dmitry Safonov
2020-04-18 20:40   ` Joe Perches
2020-04-20 17:25     ` Dmitry Safonov
2020-04-20 17:28       ` Joe Perches
2020-04-18 20:18 ` [PATCHv3 02/50] alpha: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:18 ` [PATCHv3 03/50] arc: " Dmitry Safonov
2020-04-18 20:18 ` [PATCHv3 04/50] arm/asm: Add loglvl to c_backtrace() Dmitry Safonov
2020-04-18 20:18 ` [PATCHv3 05/50] arm: Add loglvl to unwind_backtrace() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 06/50] arm: Add loglvl to dump_backtrace() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 07/50] arm: Wire up dump_backtrace_{entry,stm} Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 08/50] arm: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 09/50] arm64: Add loglvl to dump_backtrace() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 10/50] arm64: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 11/50] c6x: " Dmitry Safonov
2020-04-25 18:18   ` Joe Perches
2020-04-26  1:06     ` Tetsuo Handa
2020-04-27 14:32       ` Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 12/50] csky: " Dmitry Safonov
2020-05-15 19:23   ` Andrew Morton
2020-05-18 13:34     ` Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 13/50] h8300: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 14/50] hexagon: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 15/50] ia64: Pass log level as arg into ia64_do_show_stack() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 16/50] ia64: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 17/50] m68k: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 18/50] microblaze: Add loglvl to microblaze_unwind_inner() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 19/50] microblaze: Add loglvl to microblaze_unwind() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 20/50] microblaze: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 21/50] mips: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 22/50] nds32: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 23/50] nios2: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 24/50] openrisc: " Dmitry Safonov
2020-04-19 20:57   ` Stafford Horne
2020-04-20 17:06     ` Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 25/50] parisc: " Dmitry Safonov
2020-04-18 20:54   ` Helge Deller
2020-04-18 20:19 ` [PATCHv3 26/50] powerpc: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 27/50] riscv: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 28/50] s390: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 29/50] sh: Add loglvl to dump_mem() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 30/50] sh: Remove needless printk() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 31/50] sh: Add loglvl to printk_address() Dmitry Safonov
2020-04-20 22:52   ` Andrew Morton
2020-04-25 16:06     ` Rob Landley
2020-04-25 16:22       ` Rich Felker
2020-04-18 20:19 ` [PATCHv3 32/50] sh: Add loglvl to show_trace() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 33/50] sh: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 34/50] sparc: " Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 35/50] um/sysrq: Remove needless variable sp Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 36/50] um: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 37/50] unicore32: Remove unused pmode argument in c_backtrace() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 38/50] unicore32: Add loglvl to c_backtrace() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 39/50] unicore32: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 40/50] x86: Add missing const qualifiers for log_lvl Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 41/50] x86: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 42/50] xtensa: Add loglvl to show_trace() Dmitry Safonov
2020-05-11 19:45   ` Mike Rapoport [this message]
2020-05-11 21:12     ` Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 43/50] xtensa: Add show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 44/50] sysrq: Use show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 45/50] x86/amd_gart: Print stacktrace for a leak with KERN_ERR Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 46/50] power: Use show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 47/50] kdb: Don't play with console_loglevel Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 48/50] sched: Print stack trace with KERN_INFO Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 49/50] kernel: Use show_stack_loglvl() Dmitry Safonov
2020-04-18 20:19 ` [PATCHv3 50/50] kernel: Rename show_stack_loglvl() => show_stack() Dmitry Safonov
2020-04-23 15:48 ` [PATCHv3 00/50] Add log level to show_stack() Tetsuo Handa
2020-04-23 16:10   ` Dmitry Safonov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200511194534.GA1018386@kernel.org \
    --to=rppt@kernel.org \
    --cc=0x7f454c46@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=chris@zankel.net \
    --cc=dima@arista.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jcmvbkbc@gmail.com \
    --cc=jslaby@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=mingo@kernel.org \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=pmladek@suse.com \
    --cc=rostedt@goodmis.org \
    --cc=sergey.senozhatsky@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox