From: Guenter Roeck <linux@roeck-us.net>
To: Michal Hocko <mhocko@kernel.org>,
Hidehiro Kawai <hidehiro.kawai.ez@hitachi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Thomas Mingarelli <thomas.mingarelli@hpe.com>,
Wim Van Sebroeck <wim@iguana.be>, Corey Minyard <minyard@acm.org>,
Javi Merino <javi.merino@arm.com>,
linux-watchdog@vger.kernel.org,
"Steven Rostedt (Red Hat)" <rostedt@goodmis.org>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
linux-kernel@vger.kernel.org,
Michal Nazarewicz <mina86@mina86.com>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>,
Borislav Petkov <bp@alien8.de>,
Gobinda Charan Maji <gobinda.cemk07@gmail.com>,
Tejun Heo <tj@kernel.org>,
Nicolas Iooss <nicolas.iooss_linux@m4x.org>,
openipmi-developer@lists.sourceforge.net,
Borislav Petkov <bp@suse.de>,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [v2 PATCH 1/3] panic: Change nmi_panic from macro to function
Date: Wed, 2 Mar 2016 09:03:06 -0800 [thread overview]
Message-ID: <56D71CCA.20809@roeck-us.net> (raw)
In-Reply-To: <20160302131824.GH26686@dhcp22.suse.cz>
On 03/02/2016 05:18 AM, Michal Hocko wrote:
> On Wed 02-03-16 19:36:26, Hidehiro Kawai wrote:
> [...]
>> +void nmi_panic(struct pt_regs *regs, const char *fmt, ...)
>
> Do we really need vargs? All the current users seem to be OK with a
> simple string. This makes the code slightly more complicated without any
> apparent reason.
>
>> +{
>> + static char buf[1024]; /* protected by panic_cpu */
I am also not too happy with this additional stack allocation.
panic() itself takes varargs. Can those be passed on ?
I understand this would need something like vpanic(), so
maybe that isn't feasible.
Dropping the format, at least for now, might be a simpler option.
Guenter
>> + va_list args;
>> + int old_cpu, cpu;
>> +
>> + cpu = raw_smp_processor_id();
>> + old_cpu = atomic_cmpxchg(&panic_cpu, PANIC_CPU_INVALID, cpu);
>> +
>> + if (old_cpu == PANIC_CPU_INVALID) {
>> + va_start(args, fmt);
>> + vsnprintf(buf, sizeof(buf), fmt, args);
>> + va_end(args);
>> +
>> + panic("%s", buf);
>> + } else if (old_cpu != cpu)
>> + nmi_panic_self_stop(regs);
>> +}
>> +EXPORT_SYMBOL(nmi_panic);
>> +
>> /**
>> * panic - halt the system
>> * @fmt: The text string to print
>>
>>
>
next prev parent reply other threads:[~2016-03-02 17:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-02 10:36 [v2 PATCH 0/3] Use nmi_panic() in panic on NMI case Hidehiro Kawai
2016-03-02 10:36 ` [v2 PATCH 1/3] panic: Change nmi_panic from macro to function Hidehiro Kawai
2016-03-02 13:18 ` Michal Hocko
2016-03-02 13:22 ` Borislav Petkov
2016-03-03 1:28 ` 河合英宏 / KAWAI,HIDEHIRO
2016-03-02 17:03 ` Guenter Roeck [this message]
2016-03-02 10:36 ` [v2 PATCH 2/3] ipmi/watchdog: Use nmi_panic() when kernel panics in NMI handler Hidehiro Kawai
2016-03-02 10:36 ` [v2 PATCH 3/3] hpwdt: " Hidehiro Kawai
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=56D71CCA.20809@roeck-us.net \
--to=linux@roeck-us.net \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=bp@suse.de \
--cc=d.hatayama@jp.fujitsu.com \
--cc=gobinda.cemk07@gmail.com \
--cc=hidehiro.kawai.ez@hitachi.com \
--cc=javi.merino@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mhocko@kernel.org \
--cc=mina86@mina86.com \
--cc=minyard@acm.org \
--cc=nicolas.iooss_linux@m4x.org \
--cc=openipmi-developer@lists.sourceforge.net \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=thomas.mingarelli@hpe.com \
--cc=tj@kernel.org \
--cc=vkuznets@redhat.com \
--cc=wim@iguana.be \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.