All of lore.kernel.org
 help / color / mirror / Atom feed
From: David VomLehn <dvomlehn@cisco.com>
To: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>,
	linux-arch@vger.kernel.org, akpm@linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/23] Make register values available to panic notifiers
Date: Wed, 14 Apr 2010 17:09:32 -0400	[thread overview]
Message-ID: <4BC62F0C.5070606@cisco.com> (raw)
In-Reply-To: <20100412153557.42b3155a@mschwide.boeblingen.de.ibm.com>

Martin Schwidefsky wrote:
> On Mon, 12 Apr 2010 13:27:45 +0100
> Russell King <rmk@arm.linux.org.uk> wrote:
>
>   
>> On Sun, Apr 11, 2010 at 11:06:09PM -0700, David VomLehn wrote:
>>     
>>> This patch makes panic() and die() registers available to, for example,
>>> panic notifier functions.  Panic notifier functions are quite useful
>>> for recording crash information, but they don't get passed the register
>>> values. This makes it hard to print register contents, do stack
>>> backtraces, etc. The changes in this patch save the register state when
>>> panic() is called and introduce a function for die() to call that allows
>>> it to pass in the registers it was passed.
>>>       
>> Can you explain why you want this?
>>
>> I'm wondering about the value of saving the registers; normally when a panic
>> occurs, it's because of a well defined reason, and not because something
>> went wrong in some CPU register; to put it another way, a panic() is a
>> more controlled exception than a BUG() or a bad pointer dereference.
>>     
>
> I'm curious about the potential use case as well. So far I only wanted
> to know the registers if the panic has been triggered due to an
> unexpected fault with panic_on_oops=1 or in_interrupt()==1. If that
> happens the die() handler prints the registers. An open coded panic is
> easy to analyze, imho no need for the registers
>   

Good example, because helps focus the issue. In recording a subset of 
kernel state
information from an embedded system for collection at a central point. 
The register
values printed by die() are printed to the console, where they 
disappear. One of the
things in this patch involves passed a pointer to those die() registers 
to a register
panic notifier handler. So, there is a path to where panic handlers are 
called from
die() and another one from panic() and this patch makes register values 
available in
both cases.

  reply	other threads:[~2010-04-14 21:09 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-12  6:06 [PATCH 1/23] Make register values available to panic notifiers David VomLehn
2010-04-12  6:06 ` David VomLehn
2010-04-12  6:24 ` Mike Frysinger
2010-04-12  6:24   ` Mike Frysinger
2010-04-12 11:16 ` David Howells
2010-04-12 11:16   ` David Howells
2010-04-14 20:41   ` David VomLehn
2010-04-14 23:52     ` David Howells
2010-04-14 23:58       ` David Miller
2010-04-14 20:42   ` David VomLehn
2010-04-12 12:03 ` Heiko Carstens
2010-04-12 12:03   ` Heiko Carstens
2010-04-12 12:20   ` David Howells
2010-04-12 12:20     ` David Howells
2010-04-12 12:24   ` Russell King
2010-04-12 12:24     ` Russell King
2010-04-14 20:47   ` David VomLehn
2010-04-12 12:27 ` Russell King
2010-04-12 12:27   ` Russell King
2010-04-12 12:45   ` David Howells
2010-04-14 21:04     ` David VomLehn
2010-04-12 13:35   ` Martin Schwidefsky
2010-04-12 13:35     ` Martin Schwidefsky
2010-04-14 21:09     ` David VomLehn [this message]
2010-04-14 21:00   ` David VomLehn
2010-04-15  2:54 ` Paul Mundt
  -- strict thread matches above, loose matches on Subject: below --
2010-04-12  6:03 David VomLehn
2010-04-12 21:57 ` Andrew Morton
2010-04-14 22:02   ` David VomLehn

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=4BC62F0C.5070606@cisco.com \
    --to=dvomlehn@cisco.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    --cc=schwidefsky@de.ibm.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.