Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Mar 2005 12:01:19 -0800
From:      <Vijay.Singh@nokia.com>
To:        <freebsd-hackers@freebsd.org>
Subject:   partial memory dump
Message-ID:  <E40595640FD457418D8F9005C2BEC84901BE6F37@mvebe001.americas.nokia.com>

next in thread | raw e-mail | index | archive | help
Hello all. I am trying to allow a FreeBSD based kernel to crash dump =
even if configured swap is not enough to fill entire physical memory. =
This is because there could be 2G RAM on the system. I assume that most =
pages would not be mapped.=20

The algorithm to do this is to have a bitmask, with bits set for pages: =
from 0 to Maxmem, and then adding pages from USRSTACK to =
vm_map_max(kmem_map).  This is done in scsi_da.c, dadump() routine. I am =
able to get the dump, and after savecore collects it from swap I get the =
kernel and core files. However I am not able to get the stack trace.=20

Anything in the design (pages) that I might have missed?

nexthop[admin]# gdb -k kernel.2 vmcore.2
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for =
details.
GDB 4.16 (i386-unknown-freebsd),=20
Copyright 1996 Free Software Foundation, Inc...(no debugging symbols =
found)...
IdlePTD 69f000
current pcb at 4dd794
panic: page fault
#0  0xf6371ade in boot (cannot read proc at 0xca6c0400
)
(kgdb) bt
#0  0xf6371ade in boot (cannot read proc at 0xca6c0400
)
cannot read proc at 0xca6c0400

br,
vijay



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E40595640FD457418D8F9005C2BEC84901BE6F37>