From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=39155 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Pzt2D-0007Ut-S0 for qemu-devel@nongnu.org; Wed, 16 Mar 2011 11:53:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Pzt2C-0005J5-Ko for qemu-devel@nongnu.org; Wed, 16 Mar 2011 11:53:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45769) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Pzt2C-0005Ij-8i for qemu-devel@nongnu.org; Wed, 16 Mar 2011 11:53:16 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p2GFrD6v015657 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 16 Mar 2011 11:53:13 -0400 From: Alon Levy Date: Wed, 16 Mar 2011 17:52:45 +0200 Message-Id: <1300290769-31155-1-git-send-email-alevy@redhat.com> Subject: [Qemu-devel] [PATCH v3 0/4] qxl: implement vga mode without locks List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: hdegoede@redhat.com, uril@redhat.com, gleb@redhat.com v2->v3 changes: (Hans de Goede) * minor review fixes * fix compilation of qemu with --enable-spice with a target which does not have a qxl device v1->v2 changes: * patch 4 rewrite: instead of todos implemented usage of pipe for cursor_set and cursor_move. * small fixes: (Hans de Goede) * fix introducing function in patch 1 and renaming it in patch 2. (s/qxl_create_vcpu_to_iothread_pipe/qxl_create_server_to_iothread_pipe/) * move prototype defined in patch 1 but used in patch 2 to patch 2. (qxl_vga_mode_get_command) This patchset removes all uses of unlock/lock in qxl and spice code. It does this by reimplementing the one path that required a lock from the spice-server thread, namely interface_get_command when in vga mode or running without a qxl device. Incidentaly it fixes the assert(cpu_single_env) that happen in the unrelated qemu-kvm repository, because we never drop the global lock in io vmexits. Tested with winxp 32 bit and linux 64 bit vms, including changes between vga mode and qxl mode using chvt. Also tested -sdl and -vnc together with -spice. Alon Levy (3): qxl/spice-display: move pipe to ssd qxl/spice: remove qemu_mutex_{un,}lock_iothread around dispatcher hw/qxl-render: drop cursor locks, replace with pipe Uri Lublin (1): qxl: implement get_command in vga mode without locks hw/qxl-render.c | 25 ++++--- hw/qxl.c | 193 +++++++++++++++++++++++++++++++++++++++++----------- hw/qxl.h | 8 +- ui/spice-display.c | 115 +++++++++++++++++++++++++------ ui/spice-display.h | 35 ++++++++++ 5 files changed, 300 insertions(+), 76 deletions(-) -- 1.7.4.1