From: "long.wanglong" <long.wanglong@huawei.com>
To: Jan Kara <jack@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Petr Mladek <pmladek@suse.cz>,
Frederic Weisbecker <fweisbec@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Dave Anderson <anderson@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Kay Sievers <kay@vrfy.org>, "Jiri Kosina" <jkosina@suse.cz>,
Michal Hocko <mhocko@suse.cz>, <linux-kernel@vger.kernel.org>,
<peifeiyue@huawei.com>, <dzickus@redhat.com>,
<morgan.wang@huawei.com>, <sasha.levin@oracle.com>,
<xuhanbing@huawei.com>
Subject: Re: [PATCH 00/10] printk: Avoid deadlock in NMI + vprintk_emit() cleanup
Date: Tue, 2 Jun 2015 17:46:28 +0800 [thread overview]
Message-ID: <556D7B74.2070007@huawei.com> (raw)
In-Reply-To: <20150601130616.GE20288@quack.suse.cz>
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@suse.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
next prev parent reply other threads:[~2015-06-02 9:49 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-25 12:46 [PATCH 00/10] printk: Avoid deadlock in NMI + vprintk_emit() cleanup Petr Mladek
2015-05-25 12:46 ` [PATCH 01/10] printk: Avoid deadlock in NMI context Petr Mladek
2015-05-27 23:13 ` Andrew Morton
2015-05-28 12:00 ` Petr Mladek
2015-05-25 12:46 ` [PATCH 02/10] printk: Try harder to get logbuf_lock on NMI Petr Mladek
2015-05-27 23:14 ` Andrew Morton
2015-05-28 7:54 ` Jiri Kosina
2015-05-28 13:50 ` Petr Mladek
2015-05-28 20:09 ` Andrew Morton
2015-05-29 10:56 ` Petr Mladek
2015-05-29 20:46 ` Andrew Morton
2015-05-25 12:46 ` [PATCH 03/10] printk: Move the deferred printk stuff Petr Mladek
2015-05-25 12:46 ` [PATCH 04/10] printk: Merge and flush NMI buffer predictably via IRQ work Petr Mladek
2015-05-27 23:14 ` Andrew Morton
2015-05-28 13:12 ` Petr Mladek
2015-05-25 12:46 ` [PATCH 05/10] printk: Try hard to print Oops message in NMI context Petr Mladek
2015-05-25 12:46 ` [PATCH 06/10] printk: Split delayed printing of warnings from vprintk_emit() Petr Mladek
2015-05-25 12:46 ` [PATCH 07/10] printk: Split text formatting and analyze " Petr Mladek
2015-05-25 12:46 ` [PATCH 08/10] printk: Detect scheduler messages in vprintk_format_and_analyze() Petr Mladek
2015-05-25 12:46 ` [PATCH 09/10] printk: Split text storing logic from vprintk_emit() Petr Mladek
2015-05-25 12:46 ` [PATCH 10/10] printk: Split console call " Petr Mladek
2015-05-29 20:50 ` [PATCH 00/10] printk: Avoid deadlock in NMI + vprintk_emit() cleanup Andrew Morton
2015-06-01 13:06 ` Jan Kara
2015-06-02 9:46 ` long.wanglong [this message]
2015-06-02 9:52 ` Jiri Kosina
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=556D7B74.2070007@huawei.com \
--to=long.wanglong@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=anderson@redhat.com \
--cc=dzickus@redhat.com \
--cc=fweisbec@gmail.com \
--cc=jack@suse.cz \
--cc=jkosina@suse.cz \
--cc=kay@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.cz \
--cc=morgan.wang@huawei.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peifeiyue@huawei.com \
--cc=pmladek@suse.cz \
--cc=rostedt@goodmis.org \
--cc=sasha.levin@oracle.com \
--cc=xuhanbing@huawei.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