[Spice-commits] 2 commits - server/red_worker.c
Alexander Larsson
alexl at kemper.freedesktop.org
Mon Sep 20 04:37:02 PDT 2010
server/red_worker.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit a5ce2c0edb09c199cdf1c64f468579f9746c77aa
Author: Alexander Larsson <alexl at redhat.com>
Date: Thu Sep 9 18:56:45 2010 +0200
server: Ensure we flush the release pipe after an oom
We really need to flush the ring to ensure that we push something on the
release ring. If we don't do this and the ring is not pushed for other
reasons we will timeout in the guest driver waiting for the ring.
diff --git a/server/red_worker.c b/server/red_worker.c
index eb56aa4..ef1c998 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -9951,6 +9951,7 @@ static void handle_dev_input(EventListener *listener, uint32_t events)
red_printf("oom current %u pipe %u", worker->current_size, worker->display_channel ?
worker->display_channel->base.pipe_size : 0);
red_free_some(worker);
+ worker->qxl->st->qif->flush_resources(worker->qxl);
}
clear_bit(RED_WORKER_PENDING_OOM, worker->pending);
break;
commit 2f76d8e97482724543d1ce2e22339a4fd89e5480
Author: Alexander Larsson <alexl at redhat.com>
Date: Thu Sep 9 18:56:44 2010 +0200
Release more drawables on OOM
We've changed how resources are released so they are now being
freed continuosly, rather than on OOM, since we want to free as early
possible to avoid fragmentation. So, OOM situations should be a bit
less common now and signify a real memory shortage, so we should try
to free up more resources.
diff --git a/server/red_worker.c b/server/red_worker.c
index f4e6f7c..eb56aa4 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -4408,7 +4408,7 @@ static int red_process_commands(RedWorker *worker, uint32_t max_pipe_size, int *
return n;
}
-#define RED_RELEASE_BUNCH_SIZE 5
+#define RED_RELEASE_BUNCH_SIZE 64
static void red_free_some(RedWorker *worker)
{
More information about the Spice-commits
mailing list