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>