linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Maneesh Soni <maneesh@in.ibm.com>
To: Vivek Goyal <vgoyal@in.ibm.com>
Cc: Badari Pulavarty <pbadari@us.ibm.com>,
	Morton Andrew Morton <akpm@osdl.org>,
	fastboot@lists.osdl.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [Fastboot] kexec+kdump testing with 2.6.12-rc3-mm3
Date: Thu, 12 May 2005 15:52:30 +0530	[thread overview]
Message-ID: <20050512102230.GB3870@in.ibm.com> (raw)
In-Reply-To: <20050512054424.GC3838@in.ibm.com>

On Thu, May 12, 2005 at 11:14:24AM +0530, Vivek Goyal wrote:
> On Wed, May 11, 2005 at 08:20:50AM -0700, Badari Pulavarty wrote:
> > On Tue, 2005-05-10 at 19:53, Vivek Goyal wrote:
> > > On Tue, May 10, 2005 at 04:59:18PM -0700, Badari Pulavarty wrote:
> > > > Hi,
> > > > 
> > > > I am using kexec+kdump on 2.6.12-rc3-mm3 and it seems to be working
> > > > fine on my 4-way P-III 8GB RAM machine. I did touch testing with
> > > > kexec+kdump and it worked fine. Then ran heavy IO load and forced
> > > > a panic and I was able to collect the dump. But I am not able to
> > > > analyze the dump to find out if I really got a valid dump or not :(
> > > > 
> > > 
> > > Copying to LKML.
> > > 
> > > Gdb can not open a file larger than 2GB. You have got 8GB RAM hence
> > > /proc/vmcore size must be similar. For testing purposes you can boot first
> > > kernel with mem=2G and then take dump and analyze with gdb.
> > 
> > Its better with mem=2G, but gdb is not really useful :(
> > I wanted to look at all the processes and their stacks..
> > It shows me only one stack (not quite right). So I can't
> > really use the dump for anything :(
> > 
> 
> 
> You can run "info thread" to see how many cpus are are there. Use "thread" to 
> switch to a different thread and then run "bt" to see the stack of that
> that thread. We have observed some issues with this. You will see proper
> stack only if other cpus were not running swapper thread (pid 0).  
> 
> For seeing the stack of all the processes, I guess macros need to be written
> which traverse the task list, retrieve stack pointer and then trace back. I
> have not tried it though. 


Following is a somewhat crude user defined command to dump stack for all the 
processes in the crashdump


(gdb) define ps
Type commands for definition of "ps".
End with a line saying just "end".
>set $tasks_off=((size_t)&((struct task_struct *)0)->tasks)
>set $init_t=&init_task
>set $next_t=(((char *)($init_t->tasks).next) - $tasks_off)
>while ($next_t != $init_t)
 >set $next_t=(struct task_struct *)$next_t
 >print $next_t.comm
 >print $next_t.pid
 >x/40x $next_t.thread.esp
 >set $next_t=(char *)($next_t->tasks.next) - $tasks_off
 >end
>end
(gdb) ps
$1 = "init\000er\000\000\000\000\000\000\000\000"
$2 = 1
0xeff9fe5c:     0xeff9fea8      0x00000086      0xeff9fe74      0x00000286
0xeff9fe6c:     0xc4608e00      0xeff9febc      0xeff9fe88      0xc0126f53
0xeff9fe7c:     0x00242e9d      0xc4608420      0x00000e39      0xfff54405
0xeff9fe8c:     0x0000026a      0xc0405c00      0xeffd1a30      0xeffd1b58
0xeff9fe9c:     0x00242e9d      0xeff9febc      0x0000000b      0xeff9fee4
0xeff9feac:     0xc03a1a70      0xefdd200c      0xefd95000      0xeff9fecc
0xeff9febc:     0xc4609780      0xc4609780      0x00242e9d      0x4b87ad6e
0xeff9fecc:     0xc0127ad0      0xeffd1a30      0xc4608e00      0xee45e3c0
0xeff9fedc:     0x00000000      0x00000000      0xeff9ff60      0xc01707e6
0xeff9feec:     0x00000000      0x00000000      0x00000400      0x00000000
$3 = "migration/0\000\000\000\000"
$4 = 2
0xeffa7f5c:     0xeffa7fa8      0x00000046      0xc4608420      0xc4608420
0xeffa7f6c:     0x00000082      0xeffa7f8c      0xe69fff54      0x00000000
0xeffa7f7c:     0xe7b77a70      0xc4608420      0x0000031e      0xb806bf4f
0xeffa7f8c:     0x00000161      0xe7b77a70      0xeffd7550      0xeffd7678
0xeffa7f9c:     0xc4608d6c      0xc4608420      0xeffa6000      0xeffa7fc0
0xeffa7fac:     0xc011a632      0x00000000      0xeffa6000      0xeff9ff44
0xeffa7fbc:     0x00000000      0xeffa7fe4      0xc0132c36      0xfffffffc
0xeffa7fcc:     0xc011a5b0      0xffffffff      0xffffffff      0xc0132ba0
0xeffa7fdc:     0x00000000      0x00000000      0x00000000      0xc0101145
0xeffa7fec:     0xeff9ff3c      0x00000000      0x00000000      0xb7fc938d


Thanks
Maneesh


-- 
Maneesh Soni
Linux Technology Center, 
IBM India Software Labs,
Bangalore, India
email: maneesh@in.ibm.com
Phone: 91-80-25044990

  reply	other threads:[~2005-05-12 10:23 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1115769558.26913.1046.camel@dyn318077bld.beaverton.ibm.com>
2005-05-11  2:53 ` [Fastboot] kexec+kdump testing with 2.6.12-rc3-mm3 Vivek Goyal
2005-05-11 15:20   ` Badari Pulavarty
2005-05-12  5:44     ` Vivek Goyal
2005-05-12 10:22       ` Maneesh Soni [this message]
2005-05-12 11:28         ` Srivatsa Vaddagiri
2005-05-14 10:33           ` Alexander Nyberg
2005-05-16  8:36             ` Maneesh Soni

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=20050512102230.GB3870@in.ibm.com \
    --to=maneesh@in.ibm.com \
    --cc=akpm@osdl.org \
    --cc=fastboot@lists.osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbadari@us.ibm.com \
    --cc=vgoyal@in.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).