Part of this work could usefully (if you fancy it) involve keeping Xend
informed about how much memory is being used. Some of your scenarios
probably require this, others don't. Right now, Xend gets a confused idea of
the memory usage in circumstances such as the administrator of a guest
ballooning it down using the /proc interface.
> ===============
> MODEL C (guest provides info regularly):
>
> Guest A sez: "I have 198 MB, I really only need 180MB, and my
> minimum is 150MB. I'll provide another update in a second."
> [one second later]
> Guest A sez: "I have 198 MB, I really only need 129MB, and my
> minimum is 150MB. I'll provide another update in a second."
> Domain 0 sez: "Guest A, reduce your memory to 150MB"
> Guest A (silently): "(ballooning down now to 150MB)"
> [one second later]
> Guest A sez: "I have 150MB, I really need 250MB and my minimum
> is 150MB. I'll provide another update in a second."
> Domain 0 sez: "Guest A, increase your memory to 250MB"
This has the advantage that it can interact with a policy implemented in dom0.
e.g. it's easy to switch on and off automatic memory sizing for different
machines, externally set per-domain minimums and maximums, weight the
priority should multiple domains compete for the same memory, etc.
> MODEL D (autoballooning):
>
> Domain 0 sez: "Hey Guest A, do the right thing with your memory"
> Guest A sez: "I have 198MB, I really only need 129MB, and my
> minimum is 150MB"
> Guest A (silently): "(ballooning down now to 150MB)"
> [one second later]
> Guest A sez: "I have 150MB, I really need 250MB, and my
> minimum is 150MB"
> Guest A (silently): "(ballooning up now to 250MB... oops looks
> like I can't get that much but I'll take what I can get)"
> [one second later]
> Guest A sez: "I have 200MB, I really need 300MB, and my
> minimum is 150MB"
> Guest A (silently): "(ballooning up now to 250MB... oops looks
> like I can't get any more... time to start swapping)"
Presumably you'd intend to switch this on and off via Xenstore? And perhaps
control the parameters of the autoballooning via Xenstore too?
Cheers,
Mark
--
Push Me Pull You - Distributed SCM tool (http://www.cl.cam.ac.uk/~maw48/pmpu/)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|