Subject: Re: sparse, kernel-only crashdumps
To: Jason Thorpe <thorpej@shagadelic.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 10/07/2004 13:09:20
On Thu, Oct 07, 2004 at 09:16:29AM -0700, Jason Thorpe wrote:
> 
> On Oct 6, 2004, at 11:39 PM, David Young wrote:
> 
> >It looks to me like it isn't too hard to make a sparse crashdump on x86
> >that contains only the pages that are mapped into kernel virtual 
> >memory,
> >the page directory and page table pages (PDP and PTPs).  Does a 
> >crashdump
> >require any other pages?  I have a need for compact crashdumps, so I am
> >going to work on this over the weekend.
> 
> If you want to make this generic, you need to figure out how to account 
> for direct-mapped segments, like the ones MIPS, Alpha, VAX, and SH 
> have, as well as the way BATs are used on PowerPC.  Those regions are 
> used by the kernel, but not managed by the VM system.  They are often 
> used for pool pages, and sometimes for other data structures used by 
> low-level VM code (see the Alpha pmap, for example).  All of that stuff 
> would need to be dumped, too.
> 
> I'm not inclined to support a solution that does not address the whole 
> problem.

Wouldn't an MD hook called after all the managed pages are dumped
account for this?  I suppose this might require writing a directory
of which pages are dumped where in the dump partition out last of all,
but that seems likely to be required anyway.

The kcore format is currently broken on 32-bit ports anyhow so I do not
think we should be averse to tinkering with it to make David's task
easier while still meeting your desired constraint.

-- 
 Thor Lancelot Simon	                                      tls@rek.tjls.com
   But as he knew no bad language, he had called him all the names of common
 objects that he could think of, and had screamed: "You lamp!  You towel!  You
 plate!" and so on.              --Sigmund Freud