[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH v4 upstream 00/21] Win32 iothread support
From: |
Blue Swirl |
Subject: |
[Qemu-devel] Re: [PATCH v4 upstream 00/21] Win32 iothread support |
Date: |
Sun, 13 Mar 2011 16:45:39 +0200 |
Thanks, applied all.
On Sat, Mar 12, 2011 at 6:43 PM, Paolo Bonzini <address@hidden> wrote:
> Here is again the full series for Win32 iothread support. It should be
> ready now.
>
> Patches 1 to 5 are generic Win32 improvements, including the qemu-thread
> implementation. To simplify the dependencies, I think it's better if
> this part is also routed through uq/master.
>
> Patches 6 to 8 are generic threading improvements, including using
> PTHREAD_MUTEX_ERRORCHECK as suggested by Jan.
>
> Patches 9 to 16 eliminate polling, replacing condition variable
> timedwait with wait.
>
> Patch 17 removes a redundant condition from the TCG cpu_exec_all
> function.
>
> Patches 18 to 20 add all necessary stubs to make iothread compile
> with Win32, except the IPI calls. These are provided by patch 21.
>
> Tested on Wine and Linux, not on "real" Windows. The series introduces
> a dependency on Windows 2K or newer. I don't think either 95/98/ME
> or Windows NT 3.x are reasonable host systems for QEMU, anyway.
>
> v1->v2
> I incorporated all suggestions from Jan, including his renaming patch
> for qemu_*_is_self; sh4 now doesn't have a special cpu_halted anymore.
>
> v2->v3
> Fixed structure naming, renamed qemu_signalfd_init, dropped ownership
> tracking in QemuMutex for now.
>
> v3->v4
> Consistently using qemu_free.
>
> Jan Kiszka (1):
> Refactor thread retrieval and check
>
> Paolo Bonzini (20):
> unlock iothread during WaitForMultipleObjects
> implement win32 dynticks timer
> use win32 timer queues
> add win32 qemu-thread implementation
> include qemu-thread.h early
> add assertions on the owner of a QemuMutex
> remove CONFIG_THREAD
> inline cpu_halted into sole caller
> always qemu_cpu_kick after unhalting a cpu
> exit round-robin vcpu loop if cpu->stopped is true
> always signal pause_cond after stopping a VCPU
> do not use timedwait on qemu_halt_cond
> do not use timedwait on qemu_system_cond
> do not use timedwait on qemu_pause_cond
> do not use timedwait on qemu_cpu_cond
> iothread stops the vcpu thread via IPI
> merge all signal initialization with qemu_signalfd_init, rename
> provide dummy signal init functions for win32
> protect qemu_cpu_kick_self for Win32
> add Win32 IPI service
>
> Makefile.objs | 4 +-
> configure | 2 -
> cpu-exec.c | 9 +-
> cpus.c | 298
> +++++++++++++++++-----------------
> exec.c | 2 +-
> hw/ppc.c | 2 +
> hw/sun4m.c | 10 +-
> hw/sun4u.c | 4 +-
> os-win32.c | 2 +
> qemu-common.h | 2 +-
> qemu-thread.c => qemu-thread-posix.c | 21 +--
> qemu-thread-posix.h | 17 ++
> qemu-thread-win32.c | 260 +++++++++++++++++++++++++++++
> qemu-thread-win32.h | 21 +++
> qemu-thread.h | 31 ++--
> qemu-timer.c | 89 +++++------
> target-alpha/exec.h | 11 --
> target-arm/exec.h | 13 --
> target-cris/exec.h | 11 --
> target-i386/exec.h | 12 --
> target-i386/kvm.c | 4 +-
> target-m68k/exec.h | 10 --
> target-microblaze/exec.h | 11 --
> target-mips/exec.h | 11 --
> target-ppc/exec.h | 11 --
> target-s390x/exec.h | 12 --
> target-s390x/kvm.c | 1 +
> target-sh4/exec.h | 10 --
> target-sparc/exec.h | 10 --
> ui/vnc-jobs-async.c | 2 +-
> 30 files changed, 541 insertions(+), 362 deletions(-)
> rename qemu-thread.c => qemu-thread-posix.c (90%)
> create mode 100644 qemu-thread-posix.h
> create mode 100644 qemu-thread-win32.c
> create mode 100644 qemu-thread-win32.h
>
> --
> 1.7.4
>
>
- [Qemu-devel] [PATCH v4 upstream 13/21] do not use timedwait on qemu_halt_cond, (continued)
- [Qemu-devel] [PATCH v4 upstream 13/21] do not use timedwait on qemu_halt_cond, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 14/21] do not use timedwait on qemu_system_cond, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 15/21] do not use timedwait on qemu_pause_cond, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 17/21] iothread stops the vcpu thread via IPI, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 16/21] do not use timedwait on qemu_cpu_cond, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 18/21] merge all signal initialization with qemu_signalfd_init, rename, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 20/21] protect qemu_cpu_kick_self for Win32, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 19/21] provide dummy signal init functions for win32, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 21/21] add Win32 IPI service, Paolo Bonzini, 2011/03/12
- [Qemu-devel] [PATCH v4 upstream 11/21] exit round-robin vcpu loop if cpu->stopped is true, Paolo Bonzini, 2011/03/12
- [Qemu-devel] Re: [PATCH v4 upstream 00/21] Win32 iothread support,
Blue Swirl <=