[kernel] r22310 - in dists/sid/linux/debian/patches: . bugfix/all

Ian James Campbell ijc at moszumanska.debian.org
Fri Jan 30 12:11:35 UTC 2015


Author: ijc
Date: Fri Jan 30 12:11:35 2015
New Revision: 22310

Log:
[xen] annother ballooning patch related to #776448

Added:
   dists/sid/linux/debian/patches/bugfix/all/xen-balloon-Don-t-continue-ballooning-when-BP_ECANCE.patch
Modified:
   dists/sid/linux/debian/patches/series

Added: dists/sid/linux/debian/patches/bugfix/all/xen-balloon-Don-t-continue-ballooning-when-BP_ECANCE.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/all/xen-balloon-Don-t-continue-ballooning-when-BP_ECANCE.patch	Fri Jan 30 12:11:35 2015	(r22310)
@@ -0,0 +1,41 @@
+From 92f3dc7d1a7837d01d1e2684cc81c2911873190c Mon Sep 17 00:00:00 2001
+From: Boris Ostrovsky <boris.ostrovsky at oracle.com>
+Date: Tue, 7 Oct 2014 17:00:07 -0400
+Subject: [PATCH] xen/balloon: Don't continue ballooning when BP_ECANCELED is
+ encountered
+Origin: https://git.kernel.org/linus/fd8b79511349efd1f0decea920f61b93acb34a75
+
+Commit 3dcf63677d4e ("xen/balloon: cancel ballooning if adding new
+memory failed") makes reserve_additional_memory() return BP_ECANCELED
+when an error is encountered. This error, however, is ignored by the
+caller (balloon_process()) since it is overwritten by subsequent call
+to update_schedule(). This results in continuous attempts to add more
+memory, all of which are likely to fail again.
+
+We should stop trying to schedule next iteration of ballooning when
+the current one has failed.
+
+Signed-off-by: Boris Ostrovsky <boris.ostrovsky at oracle.com>
+Reviewed-by: Daniel Kiper <daniel.kiper at oracle.com>
+Signed-off-by: David Vrabel <david.vrabel at citrix.com>
+---
+ drivers/xen/balloon.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
+index 1e0a317..3860d02 100644
+--- a/drivers/xen/balloon.c
++++ b/drivers/xen/balloon.c
+@@ -167,6 +167,9 @@ static struct page *balloon_next_page(struct page *page)
+ 
+ static enum bp_state update_schedule(enum bp_state state)
+ {
++	if (state == BP_ECANCELED)
++		return BP_ECANCELED;
++
+ 	if (state == BP_DONE) {
+ 		balloon_stats.schedule_delay = 1;
+ 		balloon_stats.retry_count = 1;
+-- 
+1.7.10.4
+

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Fri Jan 30 04:51:02 2015	(r22309)
+++ dists/sid/linux/debian/patches/series	Fri Jan 30 12:11:35 2015	(r22310)
@@ -154,6 +154,7 @@
 bugfix/all/net-mv643xx-disable-tso-by-default.patch
 bugfix/all/Revert-swiotlb-xen-pass-dev_addr-to-swiotlb_tbl_unma.patch
 bugfix/all/xen-balloon-cancel-ballooning-if-adding-new-memory-f.patch
+bugfix/all/xen-balloon-Don-t-continue-ballooning-when-BP_ECANCE.patch
 
 # memfd_create() & kdbus backport
 features/all/kdbus/mm-allow-drivers-to-prevent-new-writable-mappings.patch



More information about the Kernel-svn-changes mailing list