[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LNX.2.00.1411191143520.4454@pobox.suse.cz>
Date: Wed, 19 Nov 2014 11:44:56 +0100 (CET)
From: Jiri Kosina <jkosina@...e.cz>
To: Borislav Petkov <bp@...en8.de>
cc: Steven Rostedt <rostedt@...dmis.org>, linux-kernel@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Ingo Molnar <mingo@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Petr Mladek <pmladek@...e.cz>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Andy Lutomirski <luto@...capital.net>,
Tony Luck <tony.luck@...el.com>
Subject: Re: [RFC][PATCH 3/3] x86/nmi: Perform a safe NMI stack trace on all
CPUs
On Wed, 19 Nov 2014, Borislav Petkov wrote:
> I'm wondering if this could be used in a generic manner throughout code
> where we could say "ok, I'm in an NMI context, so lemme switch printk's
> and do some printing" so that NMI and NMI-like atomic contexts could use
> printk. Lemme do an mce example:
>
> do_machine_check(..)
> {
> printk_func_t printk_func_save = this_cpu_read(printk_func);
>
> ...
>
> /* in #MC handler, switch printks */
> this_cpu_write(printk_func, nmi_vprintk);
>
> printk("This is a hw error, details: ...\n");
>
> /* more bla */
>
> this_cpu_write(printk_func, printk_func_save);
> }
>
> or should we change that in entry.S, before we call the handler?
If we are going down this path, do_nmi() should be early enough to do it,
no need to pollute NMI assembly code with this.
--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists