Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Dec 2004 09:08:09 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Jun Su <csujun@gmail.com>
Cc:        delphij@freebsd.org
Subject:   Re: Propose for Several Dump types
Message-ID:  <16841.32713.807248.102959@grasshopper.cs.duke.edu>
In-Reply-To: <cd4370cf041221180927295ed2@mail.gmail.com>
References:  <cd4370cf04121323433255da9d@mail.gmail.com> <16835.1939.301128.802993@grasshopper.cs.duke.edu> <cd4370cf041221180927295ed2@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Jun Su writes:
 > On Fri, 17 Dec 2004 11:21:39 -0500 (EST), Andrew Gallatin

 > > To me, it seems like the most obvious way to do this would be walking
 > > the kernel's vm maps.  But that does not work on 64-bit platforms which
 > > have a direct 1-1 physical/virtual address mapping.  So how do you
 > > quickly distinguish kernel memory from user memory in the dump
 > > routine?  I'm probably missing something simple..
 > My current draft idea is to traverse the vm_map structure. Then I can
 > find out the vm_object list. Then dump those memory regions. I don't
 > understand VM much. In this area, I need input from our VM guru...

Yes, we definately need the input of a VM guru..  

FWIW, its my understanding that UMA does these small allocations 
without an object.  Eg:

	m = vm_page_alloc(NULL, colour++, pflags | VM_ALLOC_NOOBJ);

So I'm not sure how you find them.  There must be some state
someplace, though.

Drew



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