[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |