[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <556D7B74.2070007@huawei.com>
Date: Tue, 2 Jun 2015 17:46:28 +0800
From: "long.wanglong" <long.wanglong@...wei.com>
To: Jan Kara <jack@...e.cz>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Petr Mladek <pmladek@...e.cz>,
Frederic Weisbecker <fweisbec@...il.com>,
Steven Rostedt <rostedt@...dmis.org>,
Dave Anderson <anderson@...hat.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Kay Sievers <kay@...y.org>, "Jiri Kosina" <jkosina@...e.cz>,
Michal Hocko <mhocko@...e.cz>, <linux-kernel@...r.kernel.org>,
<peifeiyue@...wei.com>, <dzickus@...hat.com>,
<morgan.wang@...wei.com>, <sasha.levin@...cle.com>,
<xuhanbing@...wei.com>
Subject: Re: [PATCH 00/10] printk: Avoid deadlock in NMI + vprintk_emit()
cleanup
On 2015/6/1 21:06, Jan Kara wrote:
> On Fri 29-05-15 13:50:45, Andrew Morton wrote:
>> On Mon, 25 May 2015 14:46:23 +0200 Petr Mladek <pmladek@...e.cz> wrote:
>>
>>> The main source of deadlocks caused by printk() in NMI context has been
>>> solved by the commit a9edc88093287 ("x86/nmi: Perform a safe NMI stack
>>> trace on all CPUs").
>>>
>>> But there are still few warnings printed in the NMI code that could
>>> case a deadlock. For example, see the freeze discussed at
>>> https://lkml.org/lkml/2015/5/20/481
>>
>> I'm not (yet) convinced that we want the entire patchset btw. Do we
>> really want to try to semi-support printk from NMI? With a rather
>> nasty set of hacks?
>>
>> Why not just delete the offending printks?
> And what about WARN_ONs and BUG_ONs? Delete as well? Or just don't print
> anything when we are in NMI? I agree that NMI is so problematic context
> that restricting printk there makes some sence. OTOH propagating
> information from NMI to user is useful as well so I'm somewhat undecided.
>
> Honza
>
I think that delete all printks in NMI context is not a good solution.
because some information is very useful to user.
The commit a9edc88093287 ("x86/nmi: Perform a safe NMI stack trace on all CPUs")
solved the deadlock problem only in arch_trigger_all_cpu_backtrace_handler() by
replacing the printk to a special print function (nmi_vprintk). But all the
other NMI handlers still use the original printk.
How about replacing printk function earlier? we can replace printk function
before we calling default_do_nmi(arch/x86/kernel/nmi.c) and replace back
after calling.
Is it a feasible solution? or does it introduce other problems?
Best Regards
Wang Long
--
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