All of lore.kernel.org
 help / color / mirror / Atom feed
From: Prarit Bhargava <prarit@redhat.com>
To: Jason Baron <jbaron@akamai.com>
Cc: Andi Kleen <ak@linux.intel.com>, Jonathan Corbet <corbet@lwn.net>,
	kexec@lists.infradead.org, Rusty Russell <rusty@rustcorp.com.au>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	Fabian Frederick <fabf@skynet.be>,
	isimatu.yasuaki@jp.fujitsu.com, "H. Peter Anvin" <hpa@zytor.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-api@vger.kernel.org, vgoyal@redhat.com
Subject: Re: [PATCH V4] kernel, add bug_on_warn
Date: Mon, 27 Oct 2014 14:15:20 -0400	[thread overview]
Message-ID: <544E8BB8.8000707@redhat.com> (raw)
In-Reply-To: <544E8985.50203@akamai.com>



On 10/27/2014 02:05 PM, Jason Baron wrote:
> Hi Prarit,
> 
> On 10/24/2014 08:53 AM, Prarit Bhargava wrote:
>> There have been several times where I have had to rebuild a kernel to
>> cause a panic when hitting a WARN() in the code in order to get a crash
>> dump from a system.  Sometimes this is easy to do, other times (such as
>> in the case of a remote admin) it is not trivial to send new images to the
>> user.panic_on_stackoverflow
>>
>> A much easier method would be a switch to change the WARN() over to a
>> BUG().  This makes debugging easier in that I can now test the actual
>> image the WARN() was seen on and I do not have to engage in remote
>> debugging.
>>
>> This patch adds a bug_on_warn kernel parameter and
>> /proc/sys/kernel/bug_on_warn calls BUG() in the warn_slowpath_common()
>> path.  The function will still print out the location of the warning.
>>
>> An example of the bug_on_warn output:
>>
>> The first line below is from the WARN_ON() to output the WARN_ON()'s location.
>> After that the new BUG() call is displayed.
>>
>>  WARNING: CPU: 27 PID: 3204 at
>> /home/rhel7/redhat/debug/dummy-module/dummy-module.c:25 init_dummy+0x28/0x30
>> [dummy_module]()
>>  bug_on_warn set, calling BUG()...
>>  ------------[ cut here ]------------
>>  kernel BUG at kernel/panic.c:434!
> 
> Seems reasonable-I'm wondering why you just don't call panic() in this
> case. The BUG() call at line '434' doesn't at anything since its just being
> called from panic.c.

Hmm ... I didn't even think about that.

> 
> So something like 'panic_on_warn' would seem to be more appropriate
> in keeping with things like 'panic_on_oops' or 'panic_on_stackoverflow'.

I like it a lot better that way too :)  I'm changing it to panic_on_warn unless
anyone has any strenuous objections.

P.

> 
> Thanks,
> 
> -Jason
> 

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

WARNING: multiple messages have this Message-ID (diff)
From: Prarit Bhargava <prarit-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Jason Baron <jbaron-JqFfY2XvxFXQT0dZR+AlfA@public.gmane.org>
Cc: Andi Kleen <ak-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Jonathan Corbet <corbet-T1hC0tSOHrs@public.gmane.org>,
	kexec-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Rusty Russell <rusty-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>,
	linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Fabian Frederick <fabf-AgBVmzD5pcezQB+pC5nmwQ@public.gmane.org>,
	isimatu.yasuaki-+CUm20s59erQFUHtdCDX3A@public.gmane.org,
	"H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>,
	Masami Hiramatsu
	<masami.hiramatsu.pt-FCd8Q96Dh0JBDgjK7y7TUQ@public.gmane.org>,
	Andrew Morton
	<akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH V4] kernel, add bug_on_warn
Date: Mon, 27 Oct 2014 14:15:20 -0400	[thread overview]
Message-ID: <544E8BB8.8000707@redhat.com> (raw)
In-Reply-To: <544E8985.50203-JqFfY2XvxFXQT0dZR+AlfA@public.gmane.org>



On 10/27/2014 02:05 PM, Jason Baron wrote:
> Hi Prarit,
> 
> On 10/24/2014 08:53 AM, Prarit Bhargava wrote:
>> There have been several times where I have had to rebuild a kernel to
>> cause a panic when hitting a WARN() in the code in order to get a crash
>> dump from a system.  Sometimes this is easy to do, other times (such as
>> in the case of a remote admin) it is not trivial to send new images to the
>> user.panic_on_stackoverflow
>>
>> A much easier method would be a switch to change the WARN() over to a
>> BUG().  This makes debugging easier in that I can now test the actual
>> image the WARN() was seen on and I do not have to engage in remote
>> debugging.
>>
>> This patch adds a bug_on_warn kernel parameter and
>> /proc/sys/kernel/bug_on_warn calls BUG() in the warn_slowpath_common()
>> path.  The function will still print out the location of the warning.
>>
>> An example of the bug_on_warn output:
>>
>> The first line below is from the WARN_ON() to output the WARN_ON()'s location.
>> After that the new BUG() call is displayed.
>>
>>  WARNING: CPU: 27 PID: 3204 at
>> /home/rhel7/redhat/debug/dummy-module/dummy-module.c:25 init_dummy+0x28/0x30
>> [dummy_module]()
>>  bug_on_warn set, calling BUG()...
>>  ------------[ cut here ]------------
>>  kernel BUG at kernel/panic.c:434!
> 
> Seems reasonable-I'm wondering why you just don't call panic() in this
> case. The BUG() call at line '434' doesn't at anything since its just being
> called from panic.c.

Hmm ... I didn't even think about that.

> 
> So something like 'panic_on_warn' would seem to be more appropriate
> in keeping with things like 'panic_on_oops' or 'panic_on_stackoverflow'.

I like it a lot better that way too :)  I'm changing it to panic_on_warn unless
anyone has any strenuous objections.

P.

> 
> Thanks,
> 
> -Jason
> 

WARNING: multiple messages have this Message-ID (diff)
From: Prarit Bhargava <prarit@redhat.com>
To: Jason Baron <jbaron@akamai.com>
Cc: linux-kernel@vger.kernel.org, Jonathan Corbet <corbet@lwn.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	"H. Peter Anvin" <hpa@zytor.com>, Andi Kleen <ak@linux.intel.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Fabian Frederick <fabf@skynet.be>,
	vgoyal@redhat.com, isimatu.yasuaki@jp.fujitsu.com,
	linux-doc@vger.kernel.org, kexec@lists.infradead.org,
	linux-api@vger.kernel.org
Subject: Re: [PATCH V4] kernel, add bug_on_warn
Date: Mon, 27 Oct 2014 14:15:20 -0400	[thread overview]
Message-ID: <544E8BB8.8000707@redhat.com> (raw)
In-Reply-To: <544E8985.50203@akamai.com>



On 10/27/2014 02:05 PM, Jason Baron wrote:
> Hi Prarit,
> 
> On 10/24/2014 08:53 AM, Prarit Bhargava wrote:
>> There have been several times where I have had to rebuild a kernel to
>> cause a panic when hitting a WARN() in the code in order to get a crash
>> dump from a system.  Sometimes this is easy to do, other times (such as
>> in the case of a remote admin) it is not trivial to send new images to the
>> user.panic_on_stackoverflow
>>
>> A much easier method would be a switch to change the WARN() over to a
>> BUG().  This makes debugging easier in that I can now test the actual
>> image the WARN() was seen on and I do not have to engage in remote
>> debugging.
>>
>> This patch adds a bug_on_warn kernel parameter and
>> /proc/sys/kernel/bug_on_warn calls BUG() in the warn_slowpath_common()
>> path.  The function will still print out the location of the warning.
>>
>> An example of the bug_on_warn output:
>>
>> The first line below is from the WARN_ON() to output the WARN_ON()'s location.
>> After that the new BUG() call is displayed.
>>
>>  WARNING: CPU: 27 PID: 3204 at
>> /home/rhel7/redhat/debug/dummy-module/dummy-module.c:25 init_dummy+0x28/0x30
>> [dummy_module]()
>>  bug_on_warn set, calling BUG()...
>>  ------------[ cut here ]------------
>>  kernel BUG at kernel/panic.c:434!
> 
> Seems reasonable-I'm wondering why you just don't call panic() in this
> case. The BUG() call at line '434' doesn't at anything since its just being
> called from panic.c.

Hmm ... I didn't even think about that.

> 
> So something like 'panic_on_warn' would seem to be more appropriate
> in keeping with things like 'panic_on_oops' or 'panic_on_stackoverflow'.

I like it a lot better that way too :)  I'm changing it to panic_on_warn unless
anyone has any strenuous objections.

P.

> 
> Thanks,
> 
> -Jason
> 

  reply	other threads:[~2014-10-27 18:15 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24 12:53 [PATCH V4] kernel, add bug_on_warn Prarit Bhargava
2014-10-24 12:53 ` Prarit Bhargava
2014-10-27 18:05 ` Jason Baron
2014-10-27 18:05   ` Jason Baron
2014-10-27 18:05   ` Jason Baron
2014-10-27 18:15   ` Prarit Bhargava [this message]
2014-10-27 18:15     ` Prarit Bhargava
2014-10-27 18:15     ` Prarit Bhargava
2014-10-28  2:32     ` Dave Young
2014-10-28  2:32       ` Dave Young
2014-10-28  5:41     ` Masami Hiramatsu
2014-10-28  5:41       ` Masami Hiramatsu
2014-10-28  0:00 ` Yasuaki Ishimatsu
2014-10-28  0:00   ` Yasuaki Ishimatsu
2014-10-28  0:00   ` Yasuaki Ishimatsu
2014-10-28 12:16 ` Andi Kleen
2014-10-28 12:16   ` Andi Kleen
2014-10-28 12:22   ` Prarit Bhargava
2014-10-28 12:22     ` Prarit Bhargava
2014-10-28 12:22     ` Prarit Bhargava
2014-10-28 12:29     ` Vivek Goyal
2014-10-28 12:29       ` Vivek Goyal
2014-10-28 12:44       ` Andi Kleen
2014-10-28 12:44         ` Andi Kleen
2014-10-28 12:48         ` Prarit Bhargava
2014-10-28 12:48           ` Prarit Bhargava
2014-10-28 12:48           ` Prarit Bhargava
2014-10-28 12:56           ` Andi Kleen
2014-10-28 12:56             ` Andi Kleen
2014-10-28 12:56             ` Andi Kleen
2014-10-28 13:19             ` Prarit Bhargava
2014-10-28 13:19               ` Prarit Bhargava
2014-10-28 13:19               ` Prarit Bhargava
2014-10-28 12:55         ` Vivek Goyal
2014-10-28 12:55           ` Vivek Goyal
2014-10-28 12:59           ` Andi Kleen
2014-10-28 12:59             ` Andi Kleen

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=544E8BB8.8000707@redhat.com \
    --to=prarit@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=corbet@lwn.net \
    --cc=fabf@skynet.be \
    --cc=hpa@zytor.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=jbaron@akamai.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=rusty@rustcorp.com.au \
    --cc=vgoyal@redhat.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 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.