public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@in.ibm.com>
To: Jean-Marc Saffroy <saffroy@gmail.com>
Cc: Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, Jaroslav Kysela <perex@suse.cz>,
	Takashi Iwai <tiwai@suse.de>, Dave Anderson <anderson@redhat.com>,
	"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: oops in :snd_pcm_oss:resample_expand+0x19c/0x1f0
Date: Mon, 25 Sep 2006 19:37:50 -0400	[thread overview]
Message-ID: <20060925233750.GA9791@in.ibm.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0609252034030.4825@erda.mds>

On Mon, Sep 25, 2006 at 11:01:52PM +0200, Jean-Marc Saffroy wrote:
> Hi Vivek,
> 
> Thanks for all the good news on the future of kdump, it's nice to know 
> that people are working on improving the user experience.
> 
> On Mon, 25 Sep 2006, Vivek Goyal wrote:
> 
> >>>>Oh and I wish I could use gdb on a kdump core. :-)
> >
> >Currently we can use gdb but only for linearly mapped region. You are 
> >right its just a matter of re-generating the elf headers and remap the 
> >vmalloc areas to enable module debugging in gdb. I can not do it after 
> >the crash so probably the best place would be do it in user space. A 
> >program can read /proc/vmcore and regenerate the headers for enabling 
> >module debugging with gdb.
> 
> I assume that "after the crash" means "in the kernel crash handler", 
> AFAICT the current dump from vmcore has all what's needed.
> 

Yes. I mean kernel crash handler. Yes all the contents are present
in the vmcore file. It is just a matter of somebody reading vmcore
and walk through either the page tables or may be vmlist and export
these mappings through ELF headers so that gdb can read it.
 
> >Hmm.. Crash vs gdb is an interesting issue. I have not used gdb very 
> >extensively on core dumps, but with my limited experiece, I found 
> >"crash" to be more friendly.
> 
> One thing I like *very much* in gdb is its ability to display function 
> params and local variables in any stack frame, and I haven't found out how 
> to do it with crash.
> 

Agreed. AFAIK, crash does not display the function params and local
variables. gdb has got this advantage, though last time I looked
at local variables dispalyed by gdb, they seemed to be junk. Not very
sure why it was so?

> >Crash has got so many in-built commands tailored for kernel debugging 
> >and gdb lacks all those. Yes, we can write gdb scripts to implement 
> >those, but last time Alaxender Nyberg wrote few gdb scripts to dump all 
> >the threads and it was so slow.
> 
> I agree that gdb is sometimes very slow, but maybe it's easier to optimize 
> gdb than to make crash smarter?
> 

I beg to differ here. Not sure why it is easier to optimize gdb. If we
try to optimize gdb by writing scripts, then IMHO, writing C program
is easier and faster. If the idea is to optimize gdb by modifying gdb
code then its no different than crash. In fact, why to reinvent the 
wheel if crash already does so many things for us. Yes, but probably we
need to modify crash to be able to obtain function parameters and local
variables.   

> For this particular problem (listing threads), the real fix would be to 
> add the PT_NOTE entry that each thread deserves, then gdb would let you do 
> "info threads" instead, and dump nice backtraces of each.
> 

Displaying even the currently non executing threads using "info threads"
and their backtraces is interesting. Crash can already do that. I am 
apprehensive about traversing through the task list and dumping every
thread's register state after a crash. There is no gurantee that list
is in a sane state. And in general, we are trying to make crash handler
as small as possible to improve the reliability of dumping operation.

Register state of every non-executing thread is already present in the
vmcore and IMHO, we should write scripts to get info about other
threads then doing it in kernel.

Thanks
Vivek

  reply	other threads:[~2006-09-25 23:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-24 17:01 oops in :snd_pcm_oss:resample_expand+0x19c/0x1f0 Jean-Marc Saffroy
2006-09-24 17:39 ` Lee Revell
     [not found]   ` <260d3bff0609241104o65218c3bwc59aef94eddbca53@mail.gmail.com>
2006-09-24 19:05     ` Jean-Marc Saffroy
2006-09-24 20:54 ` Andrew Morton
2006-09-24 22:03   ` Jean-Marc Saffroy
2006-09-25 15:30     ` Vivek Goyal
2006-09-25 21:01       ` Jean-Marc Saffroy
2006-09-25 23:37         ` Vivek Goyal [this message]
2006-09-26  0:59           ` Jean-Marc Saffroy
2006-09-27 14:38 ` Takashi Iwai

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=20060925233750.GA9791@in.ibm.com \
    --to=vgoyal@in.ibm.com \
    --cc=akpm@osdl.org \
    --cc=anderson@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@suse.cz \
    --cc=saffroy@gmail.com \
    --cc=tiwai@suse.de \
    /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