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

Re: [Xen-devel] Paging/sharing in 4.2 (Was: Re: 4.2 TODO update)

On Tue, Mar 13, Ian Campbell wrote:

> The string names the "actor" which will implement the policy (so perhaps
> the cfg option name should be "mem_actor="? Seems clumsy). So the
> default for xl would be "xl". An existing alternative actor would be
> "squeezed" which should cause the system to use XCP's squeezed (this
> would require updates to squeezed to actually use these interfaces). You
> can imagine that others might want to implement other more complex
> actors in the future (e.g. which combine sharing, paging, and tmem in an
> interesting way).

Ok, makes sense.

> The "xl" actor should implement the "paging=auto" balloon, delay, then
> page mechanism (or just ballooning for PV guests) we discussed
> previously (I think most recent proposal was in
> <1330078304.8557.157.camel@xxxxxxxxxxxxxxxxxxxxxx>),
> iff /local/domain/X/memory-policy/actor == "xl". We can ignore sharing
> with this new scheme and leave it to whomever implements the sharing
> memory policy actor.


> I think that in the normal case we would not support mixing and matching
> actors on a system, so in the case of xl I would expect to normally find
> mem_policy in /etc/xen/xl.conf rather than in the guest configuration
> file. It is reasonable for an actor implementation to consist either a
> per-host daemon (like squeezed) or a per-domain daemon (like xl).

Sounds good.

> libxl should also expose methods to set the balloon and paging targets,
> these would be used by the code in xl which implements the "xl" policy
> described above.


> I think the libxl default should be to immediately set the balloon
> target. This would retain the historical behaviour for toolstacks which
> don't say differently and would also work as expected for dom0 (which
> may not have the necessary /local/domain/X/memory-policy/actor key).
> The default set by xl should be "xl" or whatever is provided in the
> config.
> The other option for the default provided by libxl will be to do nothing
> I don't think that is as helpful/useful as a default though.

I think that a default of "none" would change behaviour. So having "xl"
as default which makes the guests behave like before will remove
surprises during upgrade to 4.2.

> There should probably be an option to set the actor to "none", meaning
> that the toolstack is taking direct responsibility for this domains
> memory targets. This would be used when "xl mem-paging-set domain
> manual" was called allowing xl to implement the "xl mem-paging-set
> domain N" in manual mode as described in
> <1330078304.8557.157.camel@xxxxxxxxxxxxxxxxxxxxxx>. Or maybe this
> corresponds to using "xl-auto" and "xl-manual" as the policies?

I'm not sure about the manual mode. If one calls mem-paging-set or
mem-balloon-set to change the target value, why not do it right away?

> Thoughts?

Thanks for the writeup, Ian!

> I suppose I ought to go back to
> <1330078304.8557.157.camel@xxxxxxxxxxxxxxxxxxxxxx> and update the
> descriptions to account for this "actor" scheme and also flesh out the
> underlying libxl interface (which we previously have ignored in that
> discussion). Would that be useful?

Yes, an updated description/proposal is useful IMHO.


Xen-devel mailing list



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