From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=46117 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzrO5-0006v2-Fd for qemu-devel@nongnu.org; Wed, 16 Mar 2011 10:07:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PzrO4-0001Y6-Gf for qemu-devel@nongnu.org; Wed, 16 Mar 2011 10:07:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46026) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PzrO4-0001Xz-5Y for qemu-devel@nongnu.org; Wed, 16 Mar 2011 10:07:44 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p2GE7gaZ005772 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 16 Mar 2011 10:07:43 -0400 Date: Wed, 16 Mar 2011 16:07:15 +0200 From: Alon Levy Subject: Re: [Qemu-devel] [PATCH v2 0/4] qxl: implement vga mode without locks Message-ID: <20110316140715.GG7413@playa.tlv.redhat.com> References: <1300279714-24721-1-git-send-email-alevy@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1300279714-24721-1-git-send-email-alevy@redhat.com> 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 On Wed, Mar 16, 2011 at 02:48:30PM +0200, Alon Levy wrote: > 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) > NACK self, this is broken for non x86 builds, Hans is working on a fix and I'll send a v3 with it once it's ready. Alon > 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 | 246 ++++++++++++++++++++++++++++++++++++++++++++-------- > hw/qxl.h | 8 +- > ui/spice-display.c | 20 +---- > ui/spice-display.h | 16 ++++ > 5 files changed, 251 insertions(+), 64 deletions(-) > > -- > 1.7.4.1 > >