Can you try this patch?
8<---------------------- xen/balloon: cancel ballooning if adding new memory failed
If the balloon driver is adding additional memory regions to the balloon and add_memory() fails it will likely continuously fail so cancel the balloon operation.
Signed-off-by: David Vrabel <email address hidden> --- drivers/xen/balloon.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index 5c660c7..45aca60 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c @@ -230,8 +230,8 @@ static enum bp_state reserve_additional_memory(long credit) rc = add_memory(nid, hotplug_start_paddr, balloon_hotplug << PAGE_SHIFT);
if (rc) { - pr_info("%s: add_memory() failed: %i\n", __func__, rc); - return BP_EAGAIN; + pr_info("cannot add additional memory (%i)\n", rc); + return BP_ECANCELED; }
balloon_hotplug -= credit; -- 1.7.10.4
Can you try this patch?
8<----- ------- ------- ---
xen/balloon: cancel ballooning if adding new memory failed
If the balloon driver is adding additional memory regions to the
balloon and add_memory() fails it will likely continuously fail so
cancel the balloon operation.
Signed-off-by: David Vrabel <email address hidden> xen/balloon. c | 4 ++--
---
drivers/
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/ xen/balloon. c b/drivers/ xen/balloon. c xen/balloon. c xen/balloon. c additional_ memory( long credit) start_paddr, balloon_hotplug << PAGE_SHIFT);
index 5c660c7..45aca60 100644
--- a/drivers/
+++ b/drivers/
@@ -230,8 +230,8 @@ static enum bp_state reserve_
rc = add_memory(nid, hotplug_
if (rc) {
- pr_info("%s: add_memory() failed: %i\n", __func__, rc);
- return BP_EAGAIN;
+ pr_info("cannot add additional memory (%i)\n", rc);
+ return BP_ECANCELED;
}
balloon_hotplug -= credit;
--
1.7.10.4