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 > >