From: Andrew Morton <akpm@linux-foundation.org>
To: Dmitry Safonov <dima@arista.com>
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>,
Rich Felker <dalias@libc.org>,
linux-sh@vger.kernel.org
Subject: Re: [PATCHv3 31/50] sh: Add loglvl to printk_address()
Date: Mon, 20 Apr 2020 15:52:37 -0700 [thread overview]
Message-ID: <20200420155237.1b6532c0d0c6940fccd1b762@linux-foundation.org> (raw)
In-Reply-To: <20200418201944.482088-32-dima@arista.com>
On Sat, 18 Apr 2020 21:19:25 +0100 Dmitry Safonov <dima@arista.com> 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 printk_address() as a preparation to introduce
> show_stack_loglvl().
>
> As a good side-effect show_fault_oops() now prints the address with
> KERN_EMREG as the rest of output, making sure there won't be situation
> where "PC: " is printed without actual address.
>
> --- a/arch/sh/include/asm/kdebug.h
> +++ b/arch/sh/include/asm/kdebug.h
> @@ -12,7 +12,8 @@ enum die_val {
> };
>
> /* arch/sh/kernel/dumpstack.c */
> -extern void printk_address(unsigned long address, int reliable);
> +extern void printk_address(unsigned long address, int reliable,
> + const char *loglvl);
> extern void dump_mem(const char *str, const char *loglvl,
> unsigned long bottom, unsigned long top);
>
> ...
>
> --- a/arch/sh/mm/fault.c
> +++ b/arch/sh/mm/fault.c
> @@ -196,7 +196,7 @@ show_fault_oops(struct pt_regs *regs, unsigned long address)
>
> printk(KERN_CONT " at %08lx\n", address);
> printk(KERN_ALERT "PC:");
> - printk_address(regs->pc, 1);
> + printk_address(regs->pc, 1, KERN_ALERT);
>
It would be more intuitive to do
printk_address(KERN_ALERT, regs->pc, 1);
because the loglevel always comes first.
I guess it doesn't matter much, as sh seems to be rather dead.
next prev parent reply other threads:[~2020-04-20 22:52 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 [this message]
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
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=20200420155237.1b6532c0d0c6940fccd1b762@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=0x7f454c46@gmail.com \
--cc=dalias@libc.org \
--cc=dima@arista.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sh@vger.kernel.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