|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] GPLPV memory ballooning and x32
>
> The position of invalid entries in the P2M are not important. IIRC all entries
> start PoD. If Windows can allocate without zeroing the memory (for which
> you'll need MmAllocatePagesForMdlEx, so 2k3 SP1+) then the entry will remain
> PoD until the decrease reservation makes it invalid. Otherwise, there will be
> a populate followed by an immediate invalidation, which will clearly slow
> things down a little but is not disastrous. Providing the total number of
> populated pages does not reach the dynamic-max threshold, everything is fine.
That was my next question. So decrease_reservation on a unpopulated PoD page is
okay. I think I have all the pieces of the puzzle then, and I don't think I
have to do anything different to what I'm doing now (except maybe some
accounting changes), which is always nice :)
> The only caveat with Windows is that it is good to balloon early because
> allocating enough guest pages to fulfill a balloon-down gets harder as the
> myriad of Windows kernel modules can quite aggressively land-grab in my
> experience.
It's also pretty good at letting go of memory when under pressure. My balloon
down runs in a loop with a timer on it - if it fails to get enough memory to
balloon down it just waits a bit (1 second I think) then tries to grab some
more, and there is usually enough available by then. Unless you are getting
silly with the amount of ballooning then it's normally straight forward. My
test 2K3 DomU starts at 512MB and I can balloon it down to about 300MB shortly
after boot before MmAllocatePagesForMdlEx starts failing to allocate memory,
and then another 20 seconds of going around the loop before I get down to about
200MB. I haven't tried to go lower than that but I suspect it wouldn't end well
if I tried :)
My Balloon up is the same - it just keeps trying to get memory until Xen has
some free. I should probably put a backoff in there though.
Thanks for the info!
James
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] GPLPV memory ballooning and x32, (continued)
- Re: [Xen-devel] GPLPV memory ballooning and x32, Keir Fraser
- RE: [Xen-devel] GPLPV memory ballooning and x32, James Harper
- RE: [Xen-devel] GPLPV memory ballooning and x32, Aravindh Puthiyaparambil
- Re: [Xen-devel] GPLPV memory ballooning and x32, Pasi Kärkkäinen
- RE: [Xen-devel] GPLPV memory ballooning and x32, Aravindh Puthiyaparambil
- Re: [Xen-devel] GPLPV memory ballooning and x32, Keir Fraser
- RE: [Xen-devel] GPLPV memory ballooning and x32, James Harper
- Re: [Xen-devel] GPLPV memory ballooning and x32, Keir Fraser
- RE: [Xen-devel] GPLPV memory ballooning and x32, Jan Beulich
- RE: [Xen-devel] GPLPV memory ballooning and x32, Paul Durrant
- RE: [Xen-devel] GPLPV memory ballooning and x32,
James Harper <=
- RE: [Xen-devel] GPLPV memory ballooning and x32, Aravindh Puthiyaparambil
- Re: [Xen-devel] GPLPV memory ballooning and x32, Keir Fraser
|
|
|
|
|