All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] xen/balloon: Don't continue ballooning when BP_ECANCELED is encountered
@ 2014-10-07 21:00 Boris Ostrovsky
  2014-10-08  7:30 ` Daniel Kiper
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Boris Ostrovsky @ 2014-10-07 21:00 UTC (permalink / raw)
  To: david.vrabel, konrad.wilk; +Cc: daniel.kiper, boris.ostrovsky, xen-devel

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@oracle.com>
---
v2: Move status test to update_schedule() 

 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.8.3.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-10-22 14:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-07 21:00 [PATCH v2] xen/balloon: Don't continue ballooning when BP_ECANCELED is encountered Boris Ostrovsky
2014-10-08  7:30 ` Daniel Kiper
2014-10-08  7:30 ` Daniel Kiper
2014-10-09 17:17 ` David Vrabel
2014-10-09 17:42   ` Boris Ostrovsky
2014-10-22 14:42   ` Stefan Bader
2014-10-22 14:52     ` David Vrabel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.