Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Mar 2005 15:39:37 -0600
From:      Dan Nelson <dnelson@allantgroup.com>
To:        Vijay.Singh@nokia.com
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: partial memory dump
Message-ID:  <20050308213937.GF37452@dan.emsphone.com>
In-Reply-To: <E40595640FD457418D8F9005C2BEC84901BE6F37@mvebe001.americas.nokia.com>
References:  <E40595640FD457418D8F9005C2BEC84901BE6F37@mvebe001.americas.nokia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (Mar 08), Vijay.Singh@nokia.com said:
> 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.
> 
> 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.

I think you also need to write that bitmap to disk so that savecore can
read it and put the data blocks in the right place in the vmcore file. 
You want to end up a with a sparse file, with blank spots every place
dadump skipped a block.

-- 
	Dan Nelson
	dnelson@allantgroup.com



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