qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 0/9] A couple of fixes for ThreadSanitizer


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v2 0/9] A couple of fixes for ThreadSanitizer
Date: Fri, 30 Sep 2016 13:32:28 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0


On 22/09/2016 12:13, Alex Bennée wrote:
> Hi,
> 
> This is v2 of the ThreadSanitizer fixes. Changes from the last
> version:
> 
>   - added Marc-André's review tags
>   - added qga/command: use QEMU atomic primitives
>   - simplified ui/vnc-enc-tight: remove switch and have single return
>   - fixed the Travis CI build (that was painful....)
> 
> There is still some work to do to go through and fix warnings from the
> sanitizer. Notably "make check" doesn't complete and generates a load
> of warnings and I haven't investigated the warnings generated by
> co-routines.
> 
> With this series applied you can enable ThreadSanitizer with the
> following command line:
> 
>   ./configure --extra-cflags="-g3 -O0 \
>     -fsantize=thread \
>     -fsanitize-blacklist=/home/alex/lsrc/qemu/qemu.git/blacklist.tsan" \
>     --with-coroutine=gthread --disable-pie --enable-debug --enable-debug-info
> 
> breakdown:
>   -fsanitize=thread - enables sanitizer
>   -fsanitize-blacklist - skip things the compiler finds hard, like SSE
>   --with-coroutine=gthread - tsan chokes on other forms of coroutine
>   --disable-pie - tsan no longer works with PIE
>   --enable-debug --enable-debug-info - better backtraces
> 
> Alex Bennée (8):
>   ui/vnc-enc-tight: remove switch and have single return
>   tcg/optimize: move default return out of if statement
>   new: blacklist.tsan
>   qom/object: update class cache atomically
>   cpu: atomically modify cpu->exit_request
>   util/qht: atomically set b->hashes
>   qga/command: use QEMU atomic primitives
>   .travis.yml: add gcc sanitizer build
> 
> Paolo Bonzini (1):
>   seqlock: use atomic writes for the sequence
> 
>  .travis.yml            | 45 +++++++++++++++++++++++++++++++++++++++++++++
>  blacklist.tsan         |  2 ++
>  cpu-exec.c             |  8 ++++----
>  include/qemu/seqlock.h |  4 ++--
>  qga/commands.c         | 17 +++++++++--------
>  qom/cpu.c              |  4 ++--
>  qom/object.c           | 15 ++++++++-------
>  tcg/optimize.c         |  3 +--
>  ui/vnc-enc-tight.c     |  6 ++----
>  util/qht.c             | 10 +++++-----
>  10 files changed, 80 insertions(+), 34 deletions(-)
>  create mode 100644 blacklist.tsan
> 

Queued patches 2-8 (1 is already in and 9 is outside my knowledge), thanks.



reply via email to

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