xen: actually release memory when shrinking domain
Fix this: > It appears that in the upstream balloon driver, > the call to HYPERVISOR_update_va_mapping is missing > from decrease_reservation. I think as a result, > the balloon driver is eating memory but not > releasing it to Xen, thus rendering the balloon > driver essentially useless. (Can be observed via xentop.) Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
066941bd4e
commit
1058a75f07
|
@ -298,6 +298,11 @@ static int decrease_reservation(unsigned long nr_pages)
|
||||||
frame_list[i] = pfn_to_mfn(pfn);
|
frame_list[i] = pfn_to_mfn(pfn);
|
||||||
|
|
||||||
scrub_page(page);
|
scrub_page(page);
|
||||||
|
|
||||||
|
ret = HYPERVISOR_update_va_mapping(
|
||||||
|
(unsigned long)__va(pfn << PAGE_SHIFT),
|
||||||
|
__pte_ma(0), 0);
|
||||||
|
BUG_ON(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Ensure that ballooned highmem pages don't have kmaps. */
|
/* Ensure that ballooned highmem pages don't have kmaps. */
|
||||||
|
|
Loading…
Reference in New Issue