qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] win32: replace custom mutex and condition varia


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] win32: replace custom mutex and condition variable with native primitives
Date: Fri, 24 Mar 2017 17:30:27 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

On 03/24/2017 05:01 PM, Andrew Baumann wrote:
> From: Andrey Shedel <address@hidden>
> 
> The multithreaded TCG implementation exposed deadlocks in the win32
> condition variables: as implemented, qemu_cond_broadcast waited on
> receivers, whereas the pthreads API it was intended to emulate does
> not. This was causing a deadlock because broadcast was called while
> holding the IO lock, as well as all possible waiters blocked on the
> same lock.
> 
> This patch replaces all the custom synchronisation code for mutexes
> and condition variables with native Windows primitives (SRWlocks and
> condition variables) with the same semantics as their POSIX
> equivalents. To enable that, it requires a Windows Vista or newer host
> OS.
> 
> [AB: edited commit message]
> Signed-off-by: Andrew Baumann <address@hidden>
> ---
> The major implication of this patch is that it drops support for
> pre-Vista versions of Windows. However, those OSes are past their end
> of life, and other OSS projects have dropped support. e.g.; the last
> Cygwin release supporting XP was in Jun 2016. It doesn't seem like a
> good tradeoff to invest effort in fixing broken code needed to support
> them, so hopefully this isn't too controversial.

I'll leave the technical review to others, but from the pragmatic view,
I'm in favor of this change.  While we still strive to let qemu run
past-their-prime OSs (like pre-Vista) as guests, it is a different story
for the host, and I'm totally fine with stating that our mingw build
requires a host OS that is not past end-of-life.

Furthermore, our recent thread on which OSs should still be supported
for builds should be evidence that we are willing to drop old code for
hosts that cannot be set up as a build-bot; and I see no reason that
anyone running an out-of-date Windows XP box would want to expose it to
the internet to be a build-bot given that it has known security flaws
that will not be patched.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]