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

Re: [Xen-devel] balloon question

Please don't cross-post unless you need to.  These are coding
questions, so xen-devel is the right place to ask this.

On Thu, Apr 28, 2016 at 7:58 AM, Zhang, Chunyu <zhangcy@xxxxxxxxxxxxxx> wrote:
> hi all
> i have two question about ballon.
> 1.
> cfg:
>      memory=4096
>      maxmem=4096
> no pod was set , no balloon is set .
> when xl create, i find function decrease_reservation is call.
> i did not why ?

decrease_reservation is never initiated by the hypervisor -- it's
normally initiated by the guest balloon driver; although I think it
may also be initiated by other components, like hvmloader or qemu (not
sure about that).  You'd have to figure out which component was making
that hypercall, and then look in the logic to find out why it was
doing so.

> 2.  pod + balloon
> cfg:
>      memory=512
>      maxmem=4096
>  decrease_reservation
>     - p2m_pod_decrease_reservation
>         - p2m_set_entry(p2m_invalid)
>     - guest_remove_page
>          - p2m_set_entry(p2m_invalid)
> in p2m_pod_decrease_reservation ,  gfn entry is set p2c_invalid.
> but in guest_remove_page gfn entry is set p2c_invalid again.
> i did not know  why?

Did you not notice the "continue" between
p2m_pod_decrease_reservation() and guest_remove_page()? :-)

p2m_pod_decrease_reservation() either does everything necessary (both
reclaim the page and set the p2m entry) or nothing.  It will return 0
to mean, "I didn't do anything, you still need to free the page", and
1 to mean "I did everything, no need for you to do anything more."


Xen-devel mailing list



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