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

From: Oleksandr Andrushchenko
Date: Wed Jun 13 2018 - 02:51:10 EST


On 06/13/2018 04:07 AM, Boris Ostrovsky wrote:


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().

I will remove corresponding comments from the balloon's {increase|decrease}_reservation
and move those into xenmem_reservation{increase|decrease} where they belong now.
I will also put a comment close to xenmem_reservation{increase|decrease}:

/* @frames is an array of PFNs */
int xenmem_reservation_increase(int count, xen_pfn_t *frames)
{
ÂÂÂ [...]
}

/* @frames is an array of GFNs */
int xenmem_reservation_decrease(int count, xen_pfn_t *frames)
{
ÂÂÂ [...]
}

+
+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().

Please see above

-boris

Thank you,
Oleksandr
+
+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);