summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-04-27 18:44:29 +0300
committerAlon Levy <alevy@redhat.com>2011-05-24 16:33:11 +0300
commit3624f1f077ebbbf3a487a77c2bbd6787b9c717a4 (patch)
treede85a83fed5d14f136d2af7d064875f636e3b779
parent41e51b5ec0b599bb369d7b508d22473eaf792d0d (diff)
xspice/qxl_ring: yield when ring is fullxspice.v3
-rw-r--r--src/qxl_ring.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/qxl_ring.c b/src/qxl_ring.c
index 0870ef1..02c4c35 100644
--- a/src/qxl_ring.c
+++ b/src/qxl_ring.c
@@ -75,7 +75,11 @@ qxl_ring_push (struct qxl_ring *ring,
while (header->prod - header->cons == header->num_items)
{
header->notify_on_cons = header->cons + 1;
-
+#ifdef XSPICE
+ /* in gtkperf, circles, this is a major bottleneck. Can't be that good in a vm either
+ * Adding the yield reduces cpu usage, but doesn't improve throughput. */
+ pthread_yield();
+#endif
mem_barrier();
}