Re: [PATCH v3 3/9] xen/balloon: Share common memory reservation routines

Boris Ostrovsky
2018-06-13T01:08:17Z

On 06/12/2018 09:41 AM, Oleksandr Andrushchenko wrote:

One more thing: please add a comment here saying that frames array is
array of PFNs (in Xen granularity), which is what
XENMEM_populate_physmap requires. And remove (or update to name the
actual call you are making) the corresponding comment in
increase_reservation().

> +
> +int xenmem_reservation_increase(int count, xen_pfn_t *frames)
> +{
> + struct xen_memory_reservation reservation = {
> + .address_bits = 0,
> + .extent_order = EXTENT_ORDER,
> + .domid = DOMID_SELF
> + };
> +
> + set_xen_guest_handle(reservation.extent_start, frames);
> + reservation.nr_extents = count;
> + return HYPERVISOR_memory_op(XENMEM_populate_physmap, &reservation);
> +}
> +EXPORT_SYMBOL_GPL(xenmem_reservation_increase);

And similarly, here we are requesting GFNs, and update
decrease_reservation().

-boris

> +
> +int xenmem_reservation_decrease(int count, xen_pfn_t *frames)
> +{
> + struct xen_memory_reservation reservation = {
> + .address_bits = 0,
> + .extent_order = EXTENT_ORDER,
> + .domid = DOMID_SELF
> + };
> +
> + set_xen_guest_handle(reservation.extent_start, frames);
> + reservation.nr_extents = count;
> + return HYPERVISOR_memory_op(XENMEM_decrease_reservation, &reservation);