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

RE: [Xen-devel] what happens when a PoD page is touched?



> 
> > The exception to this would be the case where you're allocating N
> > pages, where N > (used_pages - total allocation).
> >
> > I guess try allocating fewer pages before returning them to Xen, and
> > seeing if that helps at all.
> 
> I tried returning 64KB at a time (eg 16 pages) instead of 1MB but it
> doesn't improve things. Xen should just repopulate every page I
allocate
> with the pages I just returned and things should fly along but it's
not
> working that way.
> 
> Just taking a step back for a sec, maybe I'm doing something else
wrong.
> My balloon down code allocates memory from Windows with
> MmAllocatePagesForMdlEx then hands the pages to Xen with
> XENMEM_decrease_reservation. Is that all I need to do? I notice that
> Linux makes a call to set_phys_to_machine(INVALID_P2M_ENTRY) for each
> page, even in the hvm case. Is that some function I need to mirror too
> or is that just internal Linux housekeeping and not required under
> Windows?
> 

Hmmm... I think I'm chasing the wrong problem here. I measured time
taken to allocate the memory, and then time taken to decrease
reservation, and the decrease reservation time is 6x longer than the
memory allocation time (as measured by the
TSC/KeQueryPerformanceCounter). That approximately equates to 18 seconds
to allocate and scrub 3.5GB of memory, and 111 seconds in calls to
decrease reservation. This measurement is consistent across a few boots
so I assume it's not an artefact of using the TSC under a virtualised
environment...

James


_______________________________________________
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®.