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

Re: [Xen-devel] [RFC v2][PATCH 1/3] docs: design and intended usage for NUMA-aware ballooning

>From: dunlapg@xxxxxxxxx [dunlapg@xxxxxxxxx] on behalf of George Dunlap 
>On Fri, Aug 16, 2013 at 10:09 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>>> On 16.08.13 at 06:13, Yechen Li <lccycc123@xxxxxxxxx> wrote:
>>> +So, in NUMA aware ballooning, ballooning down and up works as follows:
>>> +
>>> +* target < current usage -- first of all, the ballooning driver uses the
>>> +  PNODE\_TO\_VNODE() service (provided by the virtual topology 
>>> implementation,
>>> +  as explained above) to translate _pnid_ (that it reads from xenstore) to
>>> +  the id(s) of the corresponding set of vnode IDs, say _{vnids}_ (which 
>>> will
>> This looks conceptually wrong: The balloon driver should have no
>> need to know about pNID-s; it should be the tool stack doing the
>> translation prior to writing the xenstore node.
>I agree with this 
Well, if we're talking about the principle of host and guest (real and virtual)
NUMA topology, I not only agree, I am one of its strongest advocates
(as George and Elena can testify! :-P)

What we're talking here is some sort of translation service to call
every time some kind of hints about the relationship between virtual
and real is necessary, to perform a specific operation better.

IOW, the guest would not be allowed to store the result of this call
and use it in the future (and expect it to be accurate). Perhaps that
was not stated clearly enough in the description.

I'd be very happy to get rid of this too, but George himself points
out here below what this (or something really similar to this)
is necessary. 

>-- I would like to point out that to make this work
>for ballooning *up*, however, there will need to be a way for the
>guest to specify, "please allocate from vnode X", and have Xen
>translate the vnode into the appropriate pnode(s).
Exactly. And since we already have all that is needed in place to
tell Xen something like "allocate from this p-node", Yechen went
for this two step approach: 1) translate, 2) ask Xen to allocate.
This did not require any change at the hypervisor level, so we
thought it could be nice. :-)

Of course, if it's considered better to modify Xen to perform the
whole operation, fine, this is for sure something that can be done,
an that does not have much effect of the rest of the design and of
the implementation, right Yechen?

Thanks and Regards,

<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Xen-devel mailing list



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