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

Re: [Xen-devel] [qemu-mainline bisection] complete test-armhf-armhf-xl-vhd



This looks to be the issue which Anthony investigated last week and for
which the responsible patch has been reverted.

I think this bisection just hadn't caught up with the fact that the issue
is fixed yet.

Ian.


On Mon, 2015-09-21 at 05:36 +0000, osstest service owner wrote:
> branch xen-unstable
> xen branch xen-unstable
> job test-armhf-armhf-xl-vhd
> test xen-boot
> 
> Tree: linux git://xenbits.xen.org/linux-pvops.git
> Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
> Tree: qemuu git://git.qemu.org/qemu.git
> Tree: xen git://xenbits.xen.org/xen.git
> 
> *** Found and reproduced problem changeset ***
> 
>   Bug is in tree:  qemuu git://git.qemu.org/qemu.git
>   Bug introduced:  a2aa09e18186801931763fbd40a751fa39971b18
>   Bug not present: 7e4804dafd4689312ef1172b549927a973bb5414
> 
> 
>   commit a2aa09e18186801931763fbd40a751fa39971b18
>   Merge: 7e4804d 47d4be1
>   Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
>   Date:   Mon Sep 14 16:13:16 2015 +0100
>   
>       Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream'
> into staging
>       
>       * Support for jemalloc
>       * qemu_mutex_lock_iothread "No such process" fix
>       * cutils: qemu_strto* wrappers
>       * iohandler.c simplification
>       * Many other fixes and misc patches.
>       
>       And some MTTCG work (with Emilio's fixes squashed):
>       * Signal-free TCG kick
>       * Removing spinlock in favor of QemuMutex
>       * User-mode emulation multi-threading fixes/docs
>       
>       # gpg: Signature made Thu 10 Sep 2015 09:03:07 BST using RSA key ID
> 78C7AE83
>       # gpg: Good signature from "Paolo Bonzini <bonzini@xxxxxxx>"
>       # gpg:                 aka "Paolo Bonzini <pbonzini@xxxxxxxxxx>"
>       
>       * remotes/bonzini/tags/for-upstream: (44 commits)
>         cutils: work around platform differences in strto{l,ul,ll,ull}
>         cpu-exec: fix lock hierarchy for user-mode emulation
>         exec: make mmap_lock/mmap_unlock globally available
>         tcg: comment on which functions have to be called with mmap_lock
> held
>         tcg: add memory barriers in page_find_alloc accesses
>         remove unused spinlock.
>         replace spinlock by QemuMutex.
>         cpus: remove tcg_halt_cond and tcg_cpu_thread globals
>         cpus: protect work list with work_mutex
>         scripts/dump-guest-memory.py: fix after RAMBlock change
>         configure: Add support for jemalloc
>         add macro file for coccinelle
>         configure: factor out adding disas configure
>         vhost-scsi: fix wrong vhost-scsi firmware path
>         checkpatch: remove tests that are not relevant outside the kernel
>         checkpatch: adapt some tests to QEMU
>         CODING_STYLE: update mixed declaration rules
>         qmp: Add example usage of strto*l() qemu wrapper
>         cutils: Add qemu_strtoull() wrapper
>         cutils: Add qemu_strtoll() wrapper
>         ...
>       
>       Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>   
>   commit 47d4be12c3997343e436c6cca89aefbbbeb70863
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Thu Sep 10 10:02:00 2015 +0200
>   
>       cutils: work around platform differences in strto{l,ul,ll,ull}
>       
>       Linux returns 0 if no conversion was made, while OS X and
> presumably
>       the BSDs return EINVAL.  The OS X convention rejects more invalid
>       inputs, so convert to it and adjust the test case.
>       
>       Windows returns 1 from strtoul and strtoull (instead of -1) for
>       negative out-of-range input; fix it up.
>       
>       Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 11 11:33:24 2015 +0200
>   
>       cpu-exec: fix lock hierarchy for user-mode emulation
>       
>       tb_lock has to be taken inside the mmap_lock (example:
>       tb_invalidate_phys_range is called by target_mmap), but
>       tb_link_page is taking the mmap_lock and it is called
>       with the tb_lock held.
>       
>       To fix this, take the mmap_lock in tb_find_slow, not
>       in tb_link_page.
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 11 10:57:52 2015 +0200
>   
>       exec: make mmap_lock/mmap_unlock globally available
>       
>       There is some iffy lock hierarchy going on in translate-all.c.  To
>       fix it, we need to take the mmap_lock in cpu-exec.c.  Make the
>       functions globally available.
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 756920876f60829fad0d15df4f3fa205077a8131
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 11 10:59:50 2015 +0200
>   
>       tcg: comment on which functions have to be called with mmap_lock
> held
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Wed Aug 12 09:41:40 2015 +0200
>   
>       tcg: add memory barriers in page_find_alloc accesses
>       
>       page_find is reading the radix tree outside all locks, so it has to
>       use the RCU primitives.  It does not need RCU critical sections
>       because the PageDescs are never removed, so there is never a need
>       to wait for the end of code sections that use a PageDesc.
>       
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 2496ff1311283480f9de3614080b8842d838ade4
>   Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>   Date:   Mon Aug 10 17:27:03 2015 +0200
>   
>       remove unused spinlock.
>       
>       This just removes spinlock as it is not used anymore.
>       
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Message-Id: <
> 1439220437-23957-6-git-send-email-fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 677ef6230b603571ae05125db469f7b4c8912a77
>   Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>   Date:   Mon Aug 10 17:27:02 2015 +0200
>   
>       replace spinlock by QemuMutex.
>       
>       spinlock is only used in two cases:
>         * cpu-exec.c: to protect TranslationBlock
>         * mem_helper.c: for lock helper in target-i386 (which seems
> broken).
>       
>       It's a pthread_mutex_t in user-mode, so we can use QemuMutex
> directly,
>       with an #ifdef.  The #ifdef will be removed when multithreaded TCG
>       will need the mutex as well.
>       
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Message-Id: <
> 1439220437-23957-5-git-send-email-fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       [Merge Emilio G. Cota's patch to remove volatile. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d5f8d61390de8f2acc0da93f184e421a709cb503
>   Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>   Date:   Mon Aug 10 17:27:06 2015 +0200
>   
>       cpus: remove tcg_halt_cond and tcg_cpu_thread globals
>       
>       This hides the tcg_halt_cond and tcg_cpu_thread global variables
>       inside qemu_tcg_init_vcpu.  Multi-threaded TCG will need one
>       QemuCond and one QemuThread per virtual cpu, so it's preferrable
>       to use cpu->halt_cond and cpu->thread.
>       
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Message-Id: <
> 1439220437-23957-9-git-send-email-fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Fri Jul 10 12:32:32 2015 +0200
>   
>       cpus: protect work list with work_mutex
>       
>       Protect the list of queued work items with something other than
>       the BQL, as a preparation for running the work items outside it.
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
>   Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
>   Date:   Thu Aug 27 12:06:23 2015 +0300
>   
>       scripts/dump-guest-memory.py: fix after RAMBlock change
>       
>       commit 9b8424d5735278ca382f11adc7c63072b632ab83
>           "exec: split length -> used_length/max_length"
>       changed field names in struct RAMBlock
>       
>       It turns out that scripts/dump-guest-memory.py was
>       poking at this field, update it accordingly.
>       
>       Cc: qemu-stable@xxxxxxxxxx
>       Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>       Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
>       Message-Id: <1440666378-3152-1-git-send-email-mst@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
>   Author: Alexandre Derumier <aderumier@xxxxxxxxx>
>   Date:   Fri Jun 19 12:56:58 2015 +0200
>   
>       configure: Add support for jemalloc
>       
>       This adds "--enable-jemalloc" and "--disable-jemalloc" to allow
> linking
>       to jemalloc memory allocator.
>       
>       We have already tcmalloc support,
>       but it seem to not working well with a lot of iothreads/disks.
>       
>       The main problem is that tcmalloc use a shared thread cache of 16MB
>       by default.
>       With more threads, this cache is shared, and some bad garbage
> collections
>       can occur if the cache is too low.
>       
>       It's possible to tcmalloc cache increase it with a env var:
>       TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=256MB
>       
>       With default 16MB, performances are  really bad with more than 2
> disks.
>       Increasing to 256MB, it's helping but still have problem with 16
> disks/iothreads.
>       
>       Jemalloc don't have performance problem with default configuration.
>       
>       Here the benchmark results in iops of 1 qemu vm randread 4K
> iodepth=32,
>       with rbd block backend (librbd is doing a lot of memory
> allocation),
>       1 iothread by disk
>       
>       glibc malloc
>       ------------
>       
>       1 disk      29052
>       2 disks     55878
>       4 disks     127899
>       8 disks     240566
>       15 disks    269976
>       
>       jemalloc
>       --------
>       
>       1 disk      41278
>       2 disks     75781
>       4 disks     195351
>       8 disks     294241
>       15 disks    298199
>       
>       tcmalloc 2.2.1 default 16M cache
>       --------------------------------
>       
>       1 disk   37911
>       2 disks  67698
>       4 disks  41076
>       8 disks  43312
>       15 disks 37569
>       
>       tcmalloc : 256M cache
>       ---------------------------
>       
>       1 disk     33914
>       2 disks    58839
>       4 disks    148205
>       8 disks    213298
>       15 disks   218383
>       
>       Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
>       Message-Id: <1434711418-20429-1-git-send-email-aderumier@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Mon Sep 7 09:50:09 2015 +0200
>   
>       add macro file for coccinelle
>       
>       Coccinelle chokes on some idioms from compiler.h and queue.h.
>       Extract those in a macro file, to be used with "--macro-file
>       scripts/cocci-macro-file.h".
>       
>       Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit c765fcac96e111199225c7387c01694fe076b341
>   Author: Peter Crosthwaite <crosthwaitepeter@xxxxxxxxx>
>   Date:   Sat Aug 29 03:33:59 2015 -0700
>   
>       configure: factor out adding disas configure
>       
>       Every arch adds its disas configury to both its own config as well
>       config_disas_all. Make a small function do to both at once.
>       
>       Signed-off-by: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>
>       Message-Id: <
> 1440844439-19391-1-git-send-email-crosthwaite.peter@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f42bf6a262ab5923a1a3bc8f731b830396937c47
>   Author: Gonglei <arei.gonglei@xxxxxxxxxx>
>   Date:   Wed Aug 26 09:52:51 2015 +0800
>   
>       vhost-scsi: fix wrong vhost-scsi firmware path
>       
>       vhost-scsi bootindex does't work because Qemu passes
>       wrong fireware path to seabios.
>       
>       before:
>         /pci@i0cf8/scsi@7channel@0/vhost-scsi@0,0
>       after applying the patch:
>         /pci@i0cf8/scsi@7/channel@0/vhost-scsi@0,0
>       
>       Reported-by: Subo <subo7@xxxxxxxxxx>
>       Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
>       Message-Id: <
> 1440553971-11108-1-git-send-email-arei.gonglei@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Sun Aug 16 23:01:19 2015 +0200
>   
>       checkpatch: remove tests that are not relevant outside the kernel
>       
>       Fully removing Sparse support requires more invasive changes.  Only
>       remove the really kernel-specific parts such as address space
> names.
>       
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Sun Aug 16 23:15:46 2015 +0200
>   
>       checkpatch: adapt some tests to QEMU
>       
>       Mostly change severity levels, but some tests can also be adjusted
> to refer
>       to QEMU APIs or data structures.
>       
>       Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Fri Jun 19 09:28:13 2015 +0200
>   
>       CODING_STYLE: update mixed declaration rules
>       
>       Mixed declarations do come in handy at the top of #ifdef blocks.
>       Reluctantly allow this particular usage and suggest an alternative.
>       
>       Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:21 2015 -0500
>   
>       qmp: Add example usage of strto*l() qemu wrapper
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 3904e6bf042391abc749d717465022e96e276fc7
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:20 2015 -0500
>   
>       cutils: Add qemu_strtoull() wrapper
>       
>       Add wrapper for strtoull() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       [Use uint64_t in prototype. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:19 2015 -0500
>   
>       cutils: Add qemu_strtoll() wrapper
>       
>       Add wrapper for strtoll() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       [Use int64_t in prototype, since that's what QEMU uses. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit c817c01548b1500753d0bea3852938d919161778
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:18 2015 -0500
>   
>       cutils: Add qemu_strtoul() wrapper
>       
>       Add wrapper for strtoul() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       [Fix tests for 32-bit build. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:17 2015 -0500
>   
>       cutils: Add qemu_strtol() wrapper
>       
>       Add wrapper for strtol() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <07199f1c0ff3892790c6322123aee1e92f580550.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d1142fb83efdcf8a6c2dee825569892203e16d2c
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:39 2015 -0400
>   
>       translate-all: remove obsolete comment about l1_map
>       
>       l1_map is based on physical addresses in full-system mode, as
> pointed
>       out in an earlier comment. Said comment also mentions that virtual
>       addresses are only used in l1_map in user-only mode.
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-11-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 709037636992e9289ce9147e59d56fb35d90b140
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:41 2015 -0400
>   
>       linux-user: call rcu_(un)register_thread on pthread_(exit|create)
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-13-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:38 2015 -0400
>   
>       rcu: fix comment with s/rcu_gp_lock/rcu_registry_lock/
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-10-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 5243722376873a48e9852a58b91f4d4101ee66e4
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:37 2015 -0400
>   
>       rcu: init rcu_registry_lock after fork
>       
>       We were unlocking this lock after fork, which is wrong since
>       only the thread that holds a mutex is allowed to unlock it.
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-9-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
>   Author: Michael Marineau <michael.marineau@xxxxxxxxxx>
>   Date:   Sun Aug 9 00:02:55 2015 -0700
>   
>       Makefile.target: include top level build dir in vpath
>       
>       Using ccache with CCACHE_BASEDIR set to $(SRC_PATH) or a parent
> will
>       rewrite all absolute paths to relative paths. This interacts poorly
> with
>       QEMU's two-level build directory scheme. For example, lets say
>       BUILD_DIR=$(SRC_PATH)/build so build/blockdev.d will contain:
>       
>         blockdev.o: ../blockdev.c ../include/sysemu/block-backend.h \
>       
>       Now the target build under build/x86_64-softmmu or similar will
> depend
>       on ../blockdev.o which in turn will get make to source
> ../blockdev.d to
>       check its dependencies. Since make always considers paths relative
> to
>       the current working directory rather than the makefile the path
> appeared
>       in the relative path to ../blockdev.c is useless.
>       
>       This change simply adds the top level build directory to vpath so
> paths
>       relative to the source directory, top build directory, and target
> build
>       directory all work just fine.
>       
>       Signed-off-by: Michael Marineau <michael.marineau@xxxxxxxxxx>
>       Message-Id: <
> 1439103775-11836-1-git-send-email-michael.marineau@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
>   Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
>   Date:   Fri Aug 14 11:25:14 2015 +0100
>   
>       Move RAMBlock and ram_list to ram_addr.h
>       
>       Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
>       Message-Id: <1439547914-18249-1-git-send-email-dgilbert@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Wed Aug 26 00:19:19 2015 +0200
>   
>       tcg: signal-free qemu_cpu_kick
>       
>       Signals are slow and do not exist on Win32.  The previous patches
>       have done most of the legwork to introduce memory barriers (some
>       of them were even there already for the sake of Windows!) and
>       we can now set the flags directly in the iothread.
>       
>       qemu_cpu_kick_thread is not used anymore on TCG, since the TCG
> thread is
>       never outside usermode while the CPU is running (not halted). 
>  Instead run
>       the content of the signal handler (now in qemu_cpu_kick_no_halt)
> directly.
>       qemu_cpu_kick_no_halt is also used in qemu_mutex_lock_iothread to
> avoid
>       the overhead of qemu_cond_broadcast.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:52:09 2015 -0700
>   
>       use qemu_cpu_kick instead of cpu_exit or qemu_cpu_kick_thread
>       
>       Use the same API to trigger interruption of a CPU, no matter if
>       under TCG or KVM.  There is no difference: these calls come from
>       the CPU thread, so the qemu_cpu_kick calls will send a signal
>       to the running thread and it will be processed synchronously,
>       just like a call to cpu_exit.  The only difference is in the
>       overhead, but neither call to cpu_exit (now qemu_cpu_kick)
>       is in a hot path.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit aed807c8e2bf009b2c6a35490d4fd4383887221d
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:43:15 2015 -0700
>   
>       tcg: synchronize exit_request and tcg_current_cpu accesses
>       
>       Synchronize the remaining pair of accesses in cpu_signal.  These
> should
>       be necessary on Windows as well, at least in theory.  Probably
>       SuspendProcess and ResumeProcess introduce some implicit memory
>       barrier.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:34:19 2015 -0700
>   
>       tcg: synchronize cpu->exit_request and cpu->tcg_exit_req accesses
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit b0a46fa796504c7334202877a68c857e49f7c96c
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:32:02 2015 -0700
>   
>       tcg: assign cpu->current_tb in a simpler place
>       
>       TCG has not been reading cpu->current_tb from signal handlers for
> years.
>       The code that synchronized cpu_exec with the signal handler is not
>       needed anymore.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f240eb6fdcf63a5600e15fb44c6960586459a97f
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Wed Aug 26 00:17:58 2015 +0200
>   
>       remove qemu/tls.h
>       
>       TLS is now required on all platforms, so DECLARE_TLS/DEFINE_TLS is
> not
>       needed anymore.  Removing it does not break Windows because of the
>       previous patch.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 9373e63297c43752f9cf085feb7f5aed57d959f8
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:24:34 2015 -0700
>   
>       tcg: introduce tcg_current_cpu
>       
>       This is already useful on Windows in order to remove tls.h, because
>       accesses to current_cpu are done from a different thread on that
>       platform.  It will be used on POSIX platforms as soon TCG stops
> using
>       signals to interrupt the execution of translated code.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Mon Feb 16 14:13:11 2015 +0100
>   
>       i8257: remove cpu_request_exit irq
>       
>       This is unused.  cpu_exit now is almost exclusively an internal
> function
>       to the CPU execution loop.  In a few patches, we'll change the
> remaining
>       occurrences to qemu_cpu_kick, making it truly internal.
>       
>       Reviewed-by: Richard henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Mon Feb 16 14:08:22 2015 +0100
>   
>       i8257: rewrite DMA_schedule to avoid hooking into the CPU loop
>       
>       The i8257 DMA controller uses an idle bottom half, which by default
>       does not cause the main loop to exit.  Therefore, the DMA_schedule
>       function is there to ensure that the CPU relinquishes the iothread
>       mutex to the iothread.
>       
>       However, this is not enough since the iothread will call
>       aio_compute_timeout() and go to sleep again.  In the iothread
>       world, forcing execution of the idle bottom half is much simpler,
>       and only requires a call to qemu_notify_event().  Do it, removing
>       the need for the "cpu_request_exit" pseudo-irq.  The next patch
>       will remove it.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
>   Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
>   Date:   Fri Jul 3 15:01:42 2015 +0300
>   
>       Added generic panic handler qemu_system_guest_panicked()
>       
>       There are pieces of guest panic handling code
>       that can be shared in one generic function.
>       These code replaced by call qemu_system_guest_panicked().
>       
>       Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
>       Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx>
>       CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>       CC: Andreas FÃÂrber <afaerber@xxxxxxx>
>       Message-Id: <1435924905-8926-10-git-send-email-den@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
>   Author: Peter Lieven <pl@xxxxxxx>
>   Date:   Fri Aug 14 13:33:36 2015 +0200
>   
>       block/iscsi: validate block size returned from target
>       
>       It has been reported that at least tgtd returns a block size of 0
>       for LUN 0. To avoid running into divide by zero later on and
> protect
>       against other problematic block sizes validate the block size right
>       at connection time.
>       
>       Cc: qemu-stable@xxxxxxxxxx
>       Reported-by: Andrey Korolyov <andrey@xxxxxxx>
>       Signed-off-by: Peter Lieven <pl@xxxxxxx>
>       Message-Id: <1439552016-8557-1-git-send-email-pl@xxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f3926945c85689e8af324c0db0b39be771dbbebb
>   Author: Fam Zheng <famz@xxxxxxxxxx>
>   Date:   Mon Sep 7 11:28:58 2015 +0800
>   
>       iohandler: Use aio API
>       
>       iohandler.c shares the same interface with aio, but with duplicated
>       code. It's better to rebase iohandler, also because that aio is a
>       more friendly interface to multi-threads.
>       
>       Create a global AioContext instance and let its GSource handle the
>       iohandler events.
>       
>       Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
>       Message-Id: <1441596538-4412-1-git-send-email-famz@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
>   Author: AnÃbal LimÃn <anibal.limon@xxxxxxxxxxxxxxx>
>   Date:   Thu Sep 3 15:48:33 2015 -0500
>   
>       cpus.c: qemu_mutex_lock_iothread fix race condition at cpu thread
> init
>       
>       When QEMU starts the RCU thread executes qemu_mutex_lock_thread
>       causing error "qemu:qemu_cpu_kick_thread: No such process" and
> exits.
>       
>       This isn't occur frequently but in glibc the thread id can exist
> and
>       this not guarantee that the thread is on active/running state. If
> is
>       inserted a sleep(1) after newthread assignment [1] the issue
> appears.
>       
>       So not make assumption that thread exist if first_cpu->thread is
> set
>       then change the validation of cpu to created that is set into cpu
>       threads (kvm, tcg, dummy).
>       
>       [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_c
> reate.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621
>       
>       Cc: qemu-stable@xxxxxxxxxx
>       Signed-off-by: AnÃbal LimÃn <anibal.limon@xxxxxxxxxxxxxxx>
>       Message-Id: <
> 1441313313-3040-1-git-send-email-anibal.limon@xxxxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d12f7309483e20d1bae9304f4b812bf53a8e6510
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:36 2015 -0400
>   
>       seqlock: read sequence number atomically
>       
>       With this change we make sure that the compiler will not
>       optimise the read of the sequence number in any way.
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-8-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:35 2015 -0400
>   
>       seqlock: add missing 'inline' to seqlock_read_retry
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-7-git-send-email-cota@xxxxxxxxx>
>       Reviewed-by: Alex BennÃe <alex.bennee@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:40 2015 -0400
>   
>       qemu-thread: handle spurious futex_wait wakeups
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-12-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> 
> 
> For bisection revision-tuple graph see:
>    http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainli
> ne/test-armhf-armhf-xl-vhd.xen-boot.html
> Revision IDs in each graph node refer, respectively, to the Trees above.
> 
> ----------------------------------------
> Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu
> -mainline/test-armhf-armhf-xl-vhd.xen-boot --summary
> -out=tmp/62221.bisection-summary --basis-template=61666 -
> -blessings=real,real-bisect qemu-mainline test-armhf-armhf-xl-vhd xen
> -boot
> Searching for failure / basis pass:
>  62028 fail [host=arndale-westfield] / 61883 ok.
> Failure / basis pass flights: 62028 / 61883
> Tree: linux git://xenbits.xen.org/linux-pvops.git
> Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
> Tree: qemuu git://git.qemu.org/qemu.git
> Tree: xen git://xenbits.xen.org/xen.git
> Latest 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 2752e5bedb26fa0c7291f810f9f534b688b2f1d2
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
> Basis pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 30c38c90bd3f1bb105ebc069ac1821067c980b7c
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
> Generating revisions with ./adhoc-revtuple-generator 
>  git://xenbits.xen.org/linux
> -pvops.git#64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> -64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> git://xenbits.xen.org/osstest/linux
> -firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860
> -c530a75c1e6a472b0eb9558310b518f0dfcd8860
> git://git.qemu.org/qemu.git#30c38c90bd3f1bb105ebc069ac1821067c980b7c
> -2752e5bedb26fa0c7291f810f9f534b688b2f1d2
> git://xenbits.xen.org/xen.git#a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
> -a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
> Loaded 1003 nodes in revision graph
> Searching for test results:
>  61883 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 30c38c90bd3f1bb105ebc069ac1821067c980b7c
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62028 fail 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 2752e5bedb26fa0c7291f810f9f534b688b2f1d2
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62219 fail 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> a2aa09e18186801931763fbd40a751fa39971b18
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62206 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 30c38c90bd3f1bb105ebc069ac1821067c980b7c
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62220 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 7e4804dafd4689312ef1172b549927a973bb5414
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62207 fail 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 2752e5bedb26fa0c7291f810f9f534b688b2f1d2
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62221 fail 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> a2aa09e18186801931763fbd40a751fa39971b18
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62209 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 7cb36e18b2f1c1f971ebdc2121de22a8c2e94fd6
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62210 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 0c5fbf3b4c1e5210354de71a3dc2ebc8c8a01f31
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62211 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> f0d574d63f4603ec431f16ad535a555bf7548b94
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62212 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 2b750d9d261bda7f75b39dfc1e1e5f22502929d5
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62213 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 7e4804dafd4689312ef1172b549927a973bb5414
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62214 fail 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> a2aa09e18186801931763fbd40a751fa39971b18
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
>  62216 pass 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 7e4804dafd4689312ef1172b549927a973bb5414
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
> Searching for interesting versions
>  Result found: flight 61883 (pass), for basis pass
>  Result found: flight 62028 (fail), for basis failure
>  Repro found: flight 62206 (pass), for basis pass
>  Repro found: flight 62207 (fail), for basis failure
>  0 revisions at 64972ceb0b0cafc91a09764bc731e1b7f0503b5c
> c530a75c1e6a472b0eb9558310b518f0dfcd8860
> 7e4804dafd4689312ef1172b549927a973bb5414
> a7b39c8bd6cba3fe1c8012987b9e28bdbac7e92d
> No revisions left to test, checking graph state.
>  Result found: flight 62213 (pass), for last pass
>  Result found: flight 62214 (fail), for first failure
>  Repro found: flight 62216 (pass), for last pass
>  Repro found: flight 62219 (fail), for first failure
>  Repro found: flight 62220 (pass), for last pass
>  Repro found: flight 62221 (fail), for first failure
> 
> *** Found and reproduced problem changeset ***
> 
>   Bug is in tree:  qemuu git://git.qemu.org/qemu.git
>   Bug introduced:  a2aa09e18186801931763fbd40a751fa39971b18
>   Bug not present: 7e4804dafd4689312ef1172b549927a973bb5414
> 
> 
>   commit a2aa09e18186801931763fbd40a751fa39971b18
>   Merge: 7e4804d 47d4be1
>   Author: Peter Maydell <peter.maydell@xxxxxxxxxx>
>   Date:   Mon Sep 14 16:13:16 2015 +0100
>   
>       Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream'
> into staging
>       
>       * Support for jemalloc
>       * qemu_mutex_lock_iothread "No such process" fix
>       * cutils: qemu_strto* wrappers
>       * iohandler.c simplification
>       * Many other fixes and misc patches.
>       
>       And some MTTCG work (with Emilio's fixes squashed):
>       * Signal-free TCG kick
>       * Removing spinlock in favor of QemuMutex
>       * User-mode emulation multi-threading fixes/docs
>       
>       # gpg: Signature made Thu 10 Sep 2015 09:03:07 BST using RSA key ID
> 78C7AE83
>       # gpg: Good signature from "Paolo Bonzini <bonzini@xxxxxxx>"
>       # gpg:                 aka "Paolo Bonzini <pbonzini@xxxxxxxxxx>"
>       
>       * remotes/bonzini/tags/for-upstream: (44 commits)
>         cutils: work around platform differences in strto{l,ul,ll,ull}
>         cpu-exec: fix lock hierarchy for user-mode emulation
>         exec: make mmap_lock/mmap_unlock globally available
>         tcg: comment on which functions have to be called with mmap_lock
> held
>         tcg: add memory barriers in page_find_alloc accesses
>         remove unused spinlock.
>         replace spinlock by QemuMutex.
>         cpus: remove tcg_halt_cond and tcg_cpu_thread globals
>         cpus: protect work list with work_mutex
>         scripts/dump-guest-memory.py: fix after RAMBlock change
>         configure: Add support for jemalloc
>         add macro file for coccinelle
>         configure: factor out adding disas configure
>         vhost-scsi: fix wrong vhost-scsi firmware path
>         checkpatch: remove tests that are not relevant outside the kernel
>         checkpatch: adapt some tests to QEMU
>         CODING_STYLE: update mixed declaration rules
>         qmp: Add example usage of strto*l() qemu wrapper
>         cutils: Add qemu_strtoull() wrapper
>         cutils: Add qemu_strtoll() wrapper
>         ...
>       
>       Signed-off-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>   
>   commit 47d4be12c3997343e436c6cca89aefbbbeb70863
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Thu Sep 10 10:02:00 2015 +0200
>   
>       cutils: work around platform differences in strto{l,ul,ll,ull}
>       
>       Linux returns 0 if no conversion was made, while OS X and
> presumably
>       the BSDs return EINVAL.  The OS X convention rejects more invalid
>       inputs, so convert to it and adjust the test case.
>       
>       Windows returns 1 from strtoul and strtoull (instead of -1) for
>       negative out-of-range input; fix it up.
>       
>       Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 11 11:33:24 2015 +0200
>   
>       cpu-exec: fix lock hierarchy for user-mode emulation
>       
>       tb_lock has to be taken inside the mmap_lock (example:
>       tb_invalidate_phys_range is called by target_mmap), but
>       tb_link_page is taking the mmap_lock and it is called
>       with the tb_lock held.
>       
>       To fix this, take the mmap_lock in tb_find_slow, not
>       in tb_link_page.
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 11 10:57:52 2015 +0200
>   
>       exec: make mmap_lock/mmap_unlock globally available
>       
>       There is some iffy lock hierarchy going on in translate-all.c.  To
>       fix it, we need to take the mmap_lock in cpu-exec.c.  Make the
>       functions globally available.
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 756920876f60829fad0d15df4f3fa205077a8131
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 11 10:59:50 2015 +0200
>   
>       tcg: comment on which functions have to be called with mmap_lock
> held
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Wed Aug 12 09:41:40 2015 +0200
>   
>       tcg: add memory barriers in page_find_alloc accesses
>       
>       page_find is reading the radix tree outside all locks, so it has to
>       use the RCU primitives.  It does not need RCU critical sections
>       because the PageDescs are never removed, so there is never a need
>       to wait for the end of code sections that use a PageDesc.
>       
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 2496ff1311283480f9de3614080b8842d838ade4
>   Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>   Date:   Mon Aug 10 17:27:03 2015 +0200
>   
>       remove unused spinlock.
>       
>       This just removes spinlock as it is not used anymore.
>       
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Message-Id: <
> 1439220437-23957-6-git-send-email-fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 677ef6230b603571ae05125db469f7b4c8912a77
>   Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>   Date:   Mon Aug 10 17:27:02 2015 +0200
>   
>       replace spinlock by QemuMutex.
>       
>       spinlock is only used in two cases:
>         * cpu-exec.c: to protect TranslationBlock
>         * mem_helper.c: for lock helper in target-i386 (which seems
> broken).
>       
>       It's a pthread_mutex_t in user-mode, so we can use QemuMutex
> directly,
>       with an #ifdef.  The #ifdef will be removed when multithreaded TCG
>       will need the mutex as well.
>       
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Message-Id: <
> 1439220437-23957-5-git-send-email-fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       [Merge Emilio G. Cota's patch to remove volatile. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d5f8d61390de8f2acc0da93f184e421a709cb503
>   Author: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>   Date:   Mon Aug 10 17:27:06 2015 +0200
>   
>       cpus: remove tcg_halt_cond and tcg_cpu_thread globals
>       
>       This hides the tcg_halt_cond and tcg_cpu_thread global variables
>       inside qemu_tcg_init_vcpu.  Multi-threaded TCG will need one
>       QemuCond and one QemuThread per virtual cpu, so it's preferrable
>       to use cpu->halt_cond and cpu->thread.
>       
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Message-Id: <
> 1439220437-23957-9-git-send-email-fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Fri Jul 10 12:32:32 2015 +0200
>   
>       cpus: protect work list with work_mutex
>       
>       Protect the list of queued work items with something other than
>       the BQL, as a preparation for running the work items outside it.
>       
>       Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
>       Signed-off-by: KONRAD Frederic <fred.konrad@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
>   Author: Michael S. Tsirkin <mst@xxxxxxxxxx>
>   Date:   Thu Aug 27 12:06:23 2015 +0300
>   
>       scripts/dump-guest-memory.py: fix after RAMBlock change
>       
>       commit 9b8424d5735278ca382f11adc7c63072b632ab83
>           "exec: split length -> used_length/max_length"
>       changed field names in struct RAMBlock
>       
>       It turns out that scripts/dump-guest-memory.py was
>       poking at this field, update it accordingly.
>       
>       Cc: qemu-stable@xxxxxxxxxx
>       Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>       Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>
>       Message-Id: <1440666378-3152-1-git-send-email-mst@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
>   Author: Alexandre Derumier <aderumier@xxxxxxxxx>
>   Date:   Fri Jun 19 12:56:58 2015 +0200
>   
>       configure: Add support for jemalloc
>       
>       This adds "--enable-jemalloc" and "--disable-jemalloc" to allow
> linking
>       to jemalloc memory allocator.
>       
>       We have already tcmalloc support,
>       but it seem to not working well with a lot of iothreads/disks.
>       
>       The main problem is that tcmalloc use a shared thread cache of 16MB
>       by default.
>       With more threads, this cache is shared, and some bad garbage
> collections
>       can occur if the cache is too low.
>       
>       It's possible to tcmalloc cache increase it with a env var:
>       TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=256MB
>       
>       With default 16MB, performances are  really bad with more than 2
> disks.
>       Increasing to 256MB, it's helping but still have problem with 16
> disks/iothreads.
>       
>       Jemalloc don't have performance problem with default configuration.
>       
>       Here the benchmark results in iops of 1 qemu vm randread 4K
> iodepth=32,
>       with rbd block backend (librbd is doing a lot of memory
> allocation),
>       1 iothread by disk
>       
>       glibc malloc
>       ------------
>       
>       1 disk      29052
>       2 disks     55878
>       4 disks     127899
>       8 disks     240566
>       15 disks    269976
>       
>       jemalloc
>       --------
>       
>       1 disk      41278
>       2 disks     75781
>       4 disks     195351
>       8 disks     294241
>       15 disks    298199
>       
>       tcmalloc 2.2.1 default 16M cache
>       --------------------------------
>       
>       1 disk   37911
>       2 disks  67698
>       4 disks  41076
>       8 disks  43312
>       15 disks 37569
>       
>       tcmalloc : 256M cache
>       ---------------------------
>       
>       1 disk     33914
>       2 disks    58839
>       4 disks    148205
>       8 disks    213298
>       15 disks   218383
>       
>       Signed-off-by: Alexandre Derumier <aderumier@xxxxxxxxx>
>       Message-Id: <1434711418-20429-1-git-send-email-aderumier@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Mon Sep 7 09:50:09 2015 +0200
>   
>       add macro file for coccinelle
>       
>       Coccinelle chokes on some idioms from compiler.h and queue.h.
>       Extract those in a macro file, to be used with "--macro-file
>       scripts/cocci-macro-file.h".
>       
>       Reviewed-by: Markus Armbruster <armbru@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit c765fcac96e111199225c7387c01694fe076b341
>   Author: Peter Crosthwaite <crosthwaitepeter@xxxxxxxxx>
>   Date:   Sat Aug 29 03:33:59 2015 -0700
>   
>       configure: factor out adding disas configure
>       
>       Every arch adds its disas configury to both its own config as well
>       config_disas_all. Make a small function do to both at once.
>       
>       Signed-off-by: Peter Crosthwaite <crosthwaite.peter@xxxxxxxxx>
>       Message-Id: <
> 1440844439-19391-1-git-send-email-crosthwaite.peter@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f42bf6a262ab5923a1a3bc8f731b830396937c47
>   Author: Gonglei <arei.gonglei@xxxxxxxxxx>
>   Date:   Wed Aug 26 09:52:51 2015 +0800
>   
>       vhost-scsi: fix wrong vhost-scsi firmware path
>       
>       vhost-scsi bootindex does't work because Qemu passes
>       wrong fireware path to seabios.
>       
>       before:
>         /pci@i0cf8/scsi@7channel@0/vhost-scsi@0,0
>       after applying the patch:
>         /pci@i0cf8/scsi@7/channel@0/vhost-scsi@0,0
>       
>       Reported-by: Subo <subo7@xxxxxxxxxx>
>       Signed-off-by: Gonglei <arei.gonglei@xxxxxxxxxx>
>       Message-Id: <
> 1440553971-11108-1-git-send-email-arei.gonglei@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Sun Aug 16 23:01:19 2015 +0200
>   
>       checkpatch: remove tests that are not relevant outside the kernel
>       
>       Fully removing Sparse support requires more invasive changes.  Only
>       remove the really kernel-specific parts such as address space
> names.
>       
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Sun Aug 16 23:15:46 2015 +0200
>   
>       checkpatch: adapt some tests to QEMU
>       
>       Mostly change severity levels, but some tests can also be adjusted
> to refer
>       to QEMU APIs or data structures.
>       
>       Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Fri Jun 19 09:28:13 2015 +0200
>   
>       CODING_STYLE: update mixed declaration rules
>       
>       Mixed declarations do come in handy at the top of #ifdef blocks.
>       Reluctantly allow this particular usage and suggest an alternative.
>       
>       Reviewed-by: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:21 2015 -0500
>   
>       qmp: Add example usage of strto*l() qemu wrapper
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 3904e6bf042391abc749d717465022e96e276fc7
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:20 2015 -0500
>   
>       cutils: Add qemu_strtoull() wrapper
>       
>       Add wrapper for strtoull() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       [Use uint64_t in prototype. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:19 2015 -0500
>   
>       cutils: Add qemu_strtoll() wrapper
>       
>       Add wrapper for strtoll() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       [Use int64_t in prototype, since that's what QEMU uses. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit c817c01548b1500753d0bea3852938d919161778
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:18 2015 -0500
>   
>       cutils: Add qemu_strtoul() wrapper
>       
>       Add wrapper for strtoul() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       [Fix tests for 32-bit build. - Paolo]
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
>   Author: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>   Date:   Sun Jul 19 18:02:17 2015 -0500
>   
>       cutils: Add qemu_strtol() wrapper
>       
>       Add wrapper for strtol() function. Include unit tests.
>       
>       Signed-off-by: Carlos L. Torres <carlos.torres@xxxxxxxxxxxxx>
>       Message-Id: <07199f1c0ff3892790c6322123aee1e92f580550.1437346779.gi
> t.carlos.torres@xxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d1142fb83efdcf8a6c2dee825569892203e16d2c
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:39 2015 -0400
>   
>       translate-all: remove obsolete comment about l1_map
>       
>       l1_map is based on physical addresses in full-system mode, as
> pointed
>       out in an earlier comment. Said comment also mentions that virtual
>       addresses are only used in l1_map in user-only mode.
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-11-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 709037636992e9289ce9147e59d56fb35d90b140
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:41 2015 -0400
>   
>       linux-user: call rcu_(un)register_thread on pthread_(exit|create)
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-13-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:38 2015 -0400
>   
>       rcu: fix comment with s/rcu_gp_lock/rcu_registry_lock/
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-10-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 5243722376873a48e9852a58b91f4d4101ee66e4
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:37 2015 -0400
>   
>       rcu: init rcu_registry_lock after fork
>       
>       We were unlocking this lock after fork, which is wrong since
>       only the thread that holds a mutex is allowed to unlock it.
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-9-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
>   Author: Michael Marineau <michael.marineau@xxxxxxxxxx>
>   Date:   Sun Aug 9 00:02:55 2015 -0700
>   
>       Makefile.target: include top level build dir in vpath
>       
>       Using ccache with CCACHE_BASEDIR set to $(SRC_PATH) or a parent
> will
>       rewrite all absolute paths to relative paths. This interacts poorly
> with
>       QEMU's two-level build directory scheme. For example, lets say
>       BUILD_DIR=$(SRC_PATH)/build so build/blockdev.d will contain:
>       
>         blockdev.o: ../blockdev.c ../include/sysemu/block-backend.h \
>       
>       Now the target build under build/x86_64-softmmu or similar will
> depend
>       on ../blockdev.o which in turn will get make to source
> ../blockdev.d to
>       check its dependencies. Since make always considers paths relative
> to
>       the current working directory rather than the makefile the path
> appeared
>       in the relative path to ../blockdev.c is useless.
>       
>       This change simply adds the top level build directory to vpath so
> paths
>       relative to the source directory, top build directory, and target
> build
>       directory all work just fine.
>       
>       Signed-off-by: Michael Marineau <michael.marineau@xxxxxxxxxx>
>       Message-Id: <
> 1439103775-11836-1-git-send-email-michael.marineau@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
>   Author: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
>   Date:   Fri Aug 14 11:25:14 2015 +0100
>   
>       Move RAMBlock and ram_list to ram_addr.h
>       
>       Signed-off-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx>
>       Message-Id: <1439547914-18249-1-git-send-email-dgilbert@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Wed Aug 26 00:19:19 2015 +0200
>   
>       tcg: signal-free qemu_cpu_kick
>       
>       Signals are slow and do not exist on Win32.  The previous patches
>       have done most of the legwork to introduce memory barriers (some
>       of them were even there already for the sake of Windows!) and
>       we can now set the flags directly in the iothread.
>       
>       qemu_cpu_kick_thread is not used anymore on TCG, since the TCG
> thread is
>       never outside usermode while the CPU is running (not halted). 
>  Instead run
>       the content of the signal handler (now in qemu_cpu_kick_no_halt)
> directly.
>       qemu_cpu_kick_no_halt is also used in qemu_mutex_lock_iothread to
> avoid
>       the overhead of qemu_cond_broadcast.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:52:09 2015 -0700
>   
>       use qemu_cpu_kick instead of cpu_exit or qemu_cpu_kick_thread
>       
>       Use the same API to trigger interruption of a CPU, no matter if
>       under TCG or KVM.  There is no difference: these calls come from
>       the CPU thread, so the qemu_cpu_kick calls will send a signal
>       to the running thread and it will be processed synchronously,
>       just like a call to cpu_exit.  The only difference is in the
>       overhead, but neither call to cpu_exit (now qemu_cpu_kick)
>       is in a hot path.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit aed807c8e2bf009b2c6a35490d4fd4383887221d
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:43:15 2015 -0700
>   
>       tcg: synchronize exit_request and tcg_current_cpu accesses
>       
>       Synchronize the remaining pair of accesses in cpu_signal.  These
> should
>       be necessary on Windows as well, at least in theory.  Probably
>       SuspendProcess and ResumeProcess introduce some implicit memory
>       barrier.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:34:19 2015 -0700
>   
>       tcg: synchronize cpu->exit_request and cpu->tcg_exit_req accesses
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit b0a46fa796504c7334202877a68c857e49f7c96c
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:32:02 2015 -0700
>   
>       tcg: assign cpu->current_tb in a simpler place
>       
>       TCG has not been reading cpu->current_tb from signal handlers for
> years.
>       The code that synchronized cpu_exec with the signal handler is not
>       needed anymore.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f240eb6fdcf63a5600e15fb44c6960586459a97f
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Wed Aug 26 00:17:58 2015 +0200
>   
>       remove qemu/tls.h
>       
>       TLS is now required on all platforms, so DECLARE_TLS/DEFINE_TLS is
> not
>       needed anymore.  Removing it does not break Windows because of the
>       previous patch.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 9373e63297c43752f9cf085feb7f5aed57d959f8
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Tue Aug 18 06:24:34 2015 -0700
>   
>       tcg: introduce tcg_current_cpu
>       
>       This is already useful on Windows in order to remove tls.h, because
>       accesses to current_cpu are done from a different thread on that
>       platform.  It will be used on POSIX platforms as soon TCG stops
> using
>       signals to interrupt the execution of translated code.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Mon Feb 16 14:13:11 2015 +0100
>   
>       i8257: remove cpu_request_exit irq
>       
>       This is unused.  cpu_exit now is almost exclusively an internal
> function
>       to the CPU execution loop.  In a few patches, we'll change the
> remaining
>       occurrences to qemu_cpu_kick, making it truly internal.
>       
>       Reviewed-by: Richard henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
>   Author: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   Date:   Mon Feb 16 14:08:22 2015 +0100
>   
>       i8257: rewrite DMA_schedule to avoid hooking into the CPU loop
>       
>       The i8257 DMA controller uses an idle bottom half, which by default
>       does not cause the main loop to exit.  Therefore, the DMA_schedule
>       function is there to ensure that the CPU relinquishes the iothread
>       mutex to the iothread.
>       
>       However, this is not enough since the iothread will call
>       aio_compute_timeout() and go to sleep again.  In the iothread
>       world, forcing execution of the idle bottom half is much simpler,
>       and only requires a call to qemu_notify_event().  Do it, removing
>       the need for the "cpu_request_exit" pseudo-irq.  The next patch
>       will remove it.
>       
>       Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
>   Author: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
>   Date:   Fri Jul 3 15:01:42 2015 +0300
>   
>       Added generic panic handler qemu_system_guest_panicked()
>       
>       There are pieces of guest panic handling code
>       that can be shared in one generic function.
>       These code replaced by call qemu_system_guest_panicked().
>       
>       Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx>
>       Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx>
>       CC: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>       CC: Andreas FÃÂrber <afaerber@xxxxxxx>
>       Message-Id: <1435924905-8926-10-git-send-email-den@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
>   Author: Peter Lieven <pl@xxxxxxx>
>   Date:   Fri Aug 14 13:33:36 2015 +0200
>   
>       block/iscsi: validate block size returned from target
>       
>       It has been reported that at least tgtd returns a block size of 0
>       for LUN 0. To avoid running into divide by zero later on and
> protect
>       against other problematic block sizes validate the block size right
>       at connection time.
>       
>       Cc: qemu-stable@xxxxxxxxxx
>       Reported-by: Andrey Korolyov <andrey@xxxxxxx>
>       Signed-off-by: Peter Lieven <pl@xxxxxxx>
>       Message-Id: <1439552016-8557-1-git-send-email-pl@xxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit f3926945c85689e8af324c0db0b39be771dbbebb
>   Author: Fam Zheng <famz@xxxxxxxxxx>
>   Date:   Mon Sep 7 11:28:58 2015 +0800
>   
>       iohandler: Use aio API
>       
>       iohandler.c shares the same interface with aio, but with duplicated
>       code. It's better to rebase iohandler, also because that aio is a
>       more friendly interface to multi-threads.
>       
>       Create a global AioContext instance and let its GSource handle the
>       iohandler events.
>       
>       Signed-off-by: Fam Zheng <famz@xxxxxxxxxx>
>       Message-Id: <1441596538-4412-1-git-send-email-famz@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
>   Author: AnÃbal LimÃn <anibal.limon@xxxxxxxxxxxxxxx>
>   Date:   Thu Sep 3 15:48:33 2015 -0500
>   
>       cpus.c: qemu_mutex_lock_iothread fix race condition at cpu thread
> init
>       
>       When QEMU starts the RCU thread executes qemu_mutex_lock_thread
>       causing error "qemu:qemu_cpu_kick_thread: No such process" and
> exits.
>       
>       This isn't occur frequently but in glibc the thread id can exist
> and
>       this not guarantee that the thread is on active/running state. If
> is
>       inserted a sleep(1) after newthread assignment [1] the issue
> appears.
>       
>       So not make assumption that thread exist if first_cpu->thread is
> set
>       then change the validation of cpu to created that is set into cpu
>       threads (kvm, tcg, dummy).
>       
>       [1] https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/pthread_c
> reate.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621
>       
>       Cc: qemu-stable@xxxxxxxxxx
>       Signed-off-by: AnÃbal LimÃn <anibal.limon@xxxxxxxxxxxxxxx>
>       Message-Id: <
> 1441313313-3040-1-git-send-email-anibal.limon@xxxxxxxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit d12f7309483e20d1bae9304f4b812bf53a8e6510
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:36 2015 -0400
>   
>       seqlock: read sequence number atomically
>       
>       With this change we make sure that the compiler will not
>       optimise the read of the sequence number in any way.
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-8-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:35 2015 -0400
>   
>       seqlock: add missing 'inline' to seqlock_read_retry
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-7-git-send-email-cota@xxxxxxxxx>
>       Reviewed-by: Alex BennÃe <alex.bennee@xxxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
>   
>   commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
>   Author: Emilio G. Cota <cota@xxxxxxxxx>
>   Date:   Sun Aug 23 20:23:40 2015 -0400
>   
>       qemu-thread: handle spurious futex_wait wakeups
>       
>       Signed-off-by: Emilio G. Cota <cota@xxxxxxxxx>
>       Message-Id: <1440375847-17603-12-git-send-email-cota@xxxxxxxxx>
>       Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> 
> Revision graph left in /home/logs/results/bisect/qemu-mainline/test-armhf
> -armhf-xl-vhd.xen-boot.{dot,ps,png,html}.
> ----------------------------------------
> 62221: tolerable ALL FAIL
> 
> flight 62221 qemu-mainline real-bisect [real]
> http://logs.test-lab.xenproject.org/osstest/logs/62221/
> 
> Failures :-/ but no regressions.
> 
> Tests which did not succeed,
> including tests which could not be run:
>  test-armhf-armhf-xl-vhd       6 xen-boot                fail baseline
> untested
> 
> 
> jobs:
>  test-armhf-armhf-xl-vhd                                      fail    
> 
> 
> ------------------------------------------------------------
> sg-report-flight on osstest.test-lab.xenproject.org
> logs: /home/logs/logs
> images: /home/logs/images
> 
> Logs, config files, etc. are available at
>     http://logs.test-lab.xenproject.org/osstest/logs
> 
> Explanation of these reports, and of osstest in general, is at
>     http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb
> =master
>     
> http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master
> 
> Test harness code can be found at
>     http://xenbits.xen.org/gitweb?p=osstest.git;a=summary
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.