[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Uses of &frame_table[xfn]




On 23 Dec 2005, at 13:28, Magenheimer, Dan (HP Labs Fort Collins) wrote:

Ah, I see.  For unprivileged domains, this assumption is also valid
on ia64 (though from Ewan's reply, I gather this is is a no-op
for unprivileged domains because max_pfn==nr_pages at launch?).

Very early on in boot we increase max_pfn beyond nr_pages and allocate a suitably large mem_map so that there are struct page's covering the whole space.

the physical space between nr_pages and max_pfn is not (yet)
populated with RAM

How do you manage that? Does "not populated" mean there is no
struct page for them?  Will a get_free_page work on them?
We just tracked down a horrific problem involving missing
dom0 struct pages on Xen/ia64 so I want to make sure I understand
this and get it right.

Yeah, they have struct page, but there is no memory mapped at that kernel virtual address (the phys2mach entry points nowhere).

If there is a struct page and the Linux allocator can handle
the pages, my previous suggestion of replacing the code with
alloc'ing N pages should work for both (x86 and ia64).  If not,
how do you feel about replacing that memory initialization
stanza with a call to arch_balloon_init (and creating a new
asm/balloon.h file)?

Alloc'ing N pages would not guarantee to get exactly the pages we want (i.e., the ones with no RAM). The mem initialization as is does not look particularly x86 specific. Is the check for PageReserved a problem? If so, we can probably work around that -- it's only used to skip over highmem pages in non-highmem i386 kernels.

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.