summary refs log tree commit diff stats
path: root/hw/qxl.c
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2012-05-24 19:18:53 +0300
committerGerd Hoffmann <kraxel@redhat.com>2012-06-22 10:46:12 +0200
commit0f7bfd8198ffad58a5095ac5d7a46288ea7f5c6e (patch)
tree644d877d8f5017ac51e70f06f0f220a6e812bf69 /hw/qxl.c
parent0a530548a1007dd24a9ea3429af2c9dfae690386 (diff)
downloadfocaccia-qemu-0f7bfd8198ffad58a5095ac5d7a46288ea7f5c6e.tar.gz
focaccia-qemu-0f7bfd8198ffad58a5095ac5d7a46288ea7f5c6e.zip
qxl: stop dirty loging when not in vga mode
Tested with linux guest. Not sure how to check actual performance affect
of this. Checked with the previously send traceevent that the kvm ioctl
to start/stop dirty logging is being called.
(KVM_SET_USER_MEMORY_REGION).

Signed-off-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'hw/qxl.c')
-rw-r--r--hw/qxl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/qxl.c b/hw/qxl.c
index 8777ba9615..5a7be60668 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -932,6 +932,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
     qemu_spice_create_host_primary(&d->ssd);
     d->mode = QXL_MODE_VGA;
     memset(&d->ssd.dirty, 0, sizeof(d->ssd.dirty));
+    vga_dirty_log_start(&d->vga);
 }
 
 static void qxl_exit_vga_mode(PCIQXLDevice *d)
@@ -940,6 +941,7 @@ static void qxl_exit_vga_mode(PCIQXLDevice *d)
         return;
     }
     trace_qxl_exit_vga_mode(d->id);
+    vga_dirty_log_stop(&d->vga);
     qxl_destroy_primary(d, QXL_SYNC);
 }