* [qemu-mainline bisection] complete test-armhf-armhf-xl-vhd
@ 2015-09-21 5:36 osstest service owner
2015-09-21 8:29 ` Ian Campbell
0 siblings, 1 reply; 4+ messages in thread
From: osstest service owner @ 2015-09-21 5:36 UTC (permalink / raw)
To: xen-devel, osstest-admin
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 66450 bytes --]
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@linaro.org>
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@gnu.org>"
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
* 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@linaro.org>
commit 47d4be12c3997343e436c6cca89aefbbbeb70863
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 756920876f60829fad0d15df4f3fa205077a8131
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
commit 2496ff1311283480f9de3614080b8842d838ade4
Author: KONRAD Frederic <fred.konrad@greensocs.com>
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@greensocs.com>
Message-Id: <1439220437-23957-6-git-send-email-fred.konrad@greensocs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 677ef6230b603571ae05125db469f7b4c8912a77
Author: KONRAD Frederic <fred.konrad@greensocs.com>
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@greensocs.com>
Message-Id: <1439220437-23957-5-git-send-email-fred.konrad@greensocs.com>
Signed-off-by: Emilio G. Cota <cota@braap.org>
[Merge Emilio G. Cota's patch to remove volatile. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d5f8d61390de8f2acc0da93f184e421a709cb503
Author: KONRAD Frederic <fred.konrad@greensocs.com>
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@greensocs.com>
Message-Id: <1439220437-23957-9-git-send-email-fred.konrad@greensocs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
Author: Michael S. Tsirkin <mst@redhat.com>
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@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <1440666378-3152-1-git-send-email-mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
Author: Alexandre Derumier <aderumier@odiso.com>
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@odiso.com>
Message-Id: <1434711418-20429-1-git-send-email-aderumier@odiso.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit c765fcac96e111199225c7387c01694fe076b341
Author: Peter Crosthwaite <crosthwaitepeter@gmail.com>
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@gmail.com>
Message-Id: <1440844439-19391-1-git-send-email-crosthwaite.peter@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f42bf6a262ab5923a1a3bc8f731b830396937c47
Author: Gonglei <arei.gonglei@huawei.com>
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@huawei.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Message-Id: <1440553971-11108-1-git-send-email-arei.gonglei@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.git.carlos.torres@rackspace.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 3904e6bf042391abc749d717465022e96e276fc7
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.git.carlos.torres@rackspace.com>
[Use uint64_t in prototype. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.git.carlos.torres@rackspace.com>
[Use int64_t in prototype, since that's what QEMU uses. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit c817c01548b1500753d0bea3852938d919161778
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.git.carlos.torres@rackspace.com>
[Fix tests for 32-bit build. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <07199f1c0ff3892790c6322123aee1e92f580550.1437346779.git.carlos.torres@rackspace.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d1142fb83efdcf8a6c2dee825569892203e16d2c
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-11-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 709037636992e9289ce9147e59d56fb35d90b140
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-13-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-10-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 5243722376873a48e9852a58b91f4d4101ee66e4
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-9-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
Author: Michael Marineau <michael.marineau@coreos.com>
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@coreos.com>
Message-Id: <1439103775-11836-1-git-send-email-michael.marineau@coreos.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
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@redhat.com>
Message-Id: <1439547914-18249-1-git-send-email-dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit aed807c8e2bf009b2c6a35490d4fd4383887221d
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit b0a46fa796504c7334202877a68c857e49f7c96c
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f240eb6fdcf63a5600e15fb44c6960586459a97f
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 9373e63297c43752f9cf085feb7f5aed57d959f8
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
Author: Andrey Smetanin <asmetanin@virtuozzo.com>
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@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Andreas Färber <afaerber@suse.de>
Message-Id: <1435924905-8926-10-git-send-email-den@openvz.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
Author: Peter Lieven <pl@kamp.de>
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@nongnu.org
Reported-by: Andrey Korolyov <andrey@xdel.ru>
Signed-off-by: Peter Lieven <pl@kamp.de>
Message-Id: <1439552016-8557-1-git-send-email-pl@kamp.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f3926945c85689e8af324c0db0b39be771dbbebb
Author: Fam Zheng <famz@redhat.com>
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@redhat.com>
Message-Id: <1441596538-4412-1-git-send-email-famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
Author: Aníbal Limón <anibal.limon@linux.intel.com>
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_create.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621
Cc: qemu-stable@nongnu.org
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Message-Id: <1441313313-3040-1-git-send-email-anibal.limon@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d12f7309483e20d1bae9304f4b812bf53a8e6510
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-8-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
Author: Emilio G. Cota <cota@braap.org>
Date: Sun Aug 23 20:23:35 2015 -0400
seqlock: add missing 'inline' to seqlock_read_retry
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <1440375847-17603-7-git-send-email-cota@braap.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
Author: Emilio G. Cota <cota@braap.org>
Date: Sun Aug 23 20:23:40 2015 -0400
qemu-thread: handle spurious futex_wait wakeups
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <1440375847-17603-12-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
For bisection revision-tuple graph see:
http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/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@linaro.org>
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@gnu.org>"
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
* 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@linaro.org>
commit 47d4be12c3997343e436c6cca89aefbbbeb70863
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 756920876f60829fad0d15df4f3fa205077a8131
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
commit 2496ff1311283480f9de3614080b8842d838ade4
Author: KONRAD Frederic <fred.konrad@greensocs.com>
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@greensocs.com>
Message-Id: <1439220437-23957-6-git-send-email-fred.konrad@greensocs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 677ef6230b603571ae05125db469f7b4c8912a77
Author: KONRAD Frederic <fred.konrad@greensocs.com>
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@greensocs.com>
Message-Id: <1439220437-23957-5-git-send-email-fred.konrad@greensocs.com>
Signed-off-by: Emilio G. Cota <cota@braap.org>
[Merge Emilio G. Cota's patch to remove volatile. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d5f8d61390de8f2acc0da93f184e421a709cb503
Author: KONRAD Frederic <fred.konrad@greensocs.com>
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@greensocs.com>
Message-Id: <1439220437-23957-9-git-send-email-fred.konrad@greensocs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
Author: Paolo Bonzini <pbonzini@redhat.com>
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@linaro.org>
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
Author: Michael S. Tsirkin <mst@redhat.com>
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@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <1440666378-3152-1-git-send-email-mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
Author: Alexandre Derumier <aderumier@odiso.com>
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@odiso.com>
Message-Id: <1434711418-20429-1-git-send-email-aderumier@odiso.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit c765fcac96e111199225c7387c01694fe076b341
Author: Peter Crosthwaite <crosthwaitepeter@gmail.com>
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@gmail.com>
Message-Id: <1440844439-19391-1-git-send-email-crosthwaite.peter@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f42bf6a262ab5923a1a3bc8f731b830396937c47
Author: Gonglei <arei.gonglei@huawei.com>
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@huawei.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Message-Id: <1440553971-11108-1-git-send-email-arei.gonglei@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
Author: Paolo Bonzini <pbonzini@redhat.com>
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@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.git.carlos.torres@rackspace.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 3904e6bf042391abc749d717465022e96e276fc7
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.git.carlos.torres@rackspace.com>
[Use uint64_t in prototype. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.git.carlos.torres@rackspace.com>
[Use int64_t in prototype, since that's what QEMU uses. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit c817c01548b1500753d0bea3852938d919161778
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.git.carlos.torres@rackspace.com>
[Fix tests for 32-bit build. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
Author: Carlos L. Torres <carlos.torres@rackspace.com>
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@rackspace.com>
Message-Id: <07199f1c0ff3892790c6322123aee1e92f580550.1437346779.git.carlos.torres@rackspace.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d1142fb83efdcf8a6c2dee825569892203e16d2c
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-11-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 709037636992e9289ce9147e59d56fb35d90b140
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-13-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-10-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 5243722376873a48e9852a58b91f4d4101ee66e4
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-9-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
Author: Michael Marineau <michael.marineau@coreos.com>
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@coreos.com>
Message-Id: <1439103775-11836-1-git-send-email-michael.marineau@coreos.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
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@redhat.com>
Message-Id: <1439547914-18249-1-git-send-email-dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit aed807c8e2bf009b2c6a35490d4fd4383887221d
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit b0a46fa796504c7334202877a68c857e49f7c96c
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f240eb6fdcf63a5600e15fb44c6960586459a97f
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 9373e63297c43752f9cf085feb7f5aed57d959f8
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
Author: Paolo Bonzini <pbonzini@redhat.com>
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@twiddle.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
Author: Andrey Smetanin <asmetanin@virtuozzo.com>
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@virtuozzo.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Andreas Färber <afaerber@suse.de>
Message-Id: <1435924905-8926-10-git-send-email-den@openvz.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
Author: Peter Lieven <pl@kamp.de>
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@nongnu.org
Reported-by: Andrey Korolyov <andrey@xdel.ru>
Signed-off-by: Peter Lieven <pl@kamp.de>
Message-Id: <1439552016-8557-1-git-send-email-pl@kamp.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit f3926945c85689e8af324c0db0b39be771dbbebb
Author: Fam Zheng <famz@redhat.com>
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@redhat.com>
Message-Id: <1441596538-4412-1-git-send-email-famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
Author: Aníbal Limón <anibal.limon@linux.intel.com>
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_create.c;h=d10f4ea8004e1d8f3a268b95cc0f8d93b8d89867;hb=HEAD#l621
Cc: qemu-stable@nongnu.org
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Message-Id: <1441313313-3040-1-git-send-email-anibal.limon@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit d12f7309483e20d1bae9304f4b812bf53a8e6510
Author: Emilio G. Cota <cota@braap.org>
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@braap.org>
Message-Id: <1440375847-17603-8-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
Author: Emilio G. Cota <cota@braap.org>
Date: Sun Aug 23 20:23:35 2015 -0400
seqlock: add missing 'inline' to seqlock_read_retry
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <1440375847-17603-7-git-send-email-cota@braap.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
Author: Emilio G. Cota <cota@braap.org>
Date: Sun Aug 23 20:23:40 2015 -0400
qemu-thread: handle spurious futex_wait wakeups
Signed-off-by: Emilio G. Cota <cota@braap.org>
Message-Id: <1440375847-17603-12-git-send-email-cota@braap.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
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
[-- Attachment #2: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [qemu-mainline bisection] complete test-armhf-armhf-xl-vhd
2015-09-21 5:36 osstest service owner
@ 2015-09-21 8:29 ` Ian Campbell
2015-09-21 10:52 ` Ian Jackson
0 siblings, 1 reply; 4+ messages in thread
From: Ian Campbell @ 2015-09-21 8:29 UTC (permalink / raw)
To: osstest service owner, xen-devel, Anthony PERARD; +Cc: Stefano Stabellini
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@linaro.org>
> 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@gnu.org>"
> # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
>
> * 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@linaro.org>
>
> commit 47d4be12c3997343e436c6cca89aefbbbeb70863
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 756920876f60829fad0d15df4f3fa205077a8131
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
>
> commit 2496ff1311283480f9de3614080b8842d838ade4
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> 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@greensocs.com>
> Message-Id: <
> 1439220437-23957-6-git-send-email-fred.konrad@greensocs.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 677ef6230b603571ae05125db469f7b4c8912a77
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> 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@greensocs.com>
> Message-Id: <
> 1439220437-23957-5-git-send-email-fred.konrad@greensocs.com>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> [Merge Emilio G. Cota's patch to remove volatile. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d5f8d61390de8f2acc0da93f184e421a709cb503
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> 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@greensocs.com>
> Message-Id: <
> 1439220437-23957-9-git-send-email-fred.konrad@greensocs.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
> Author: Michael S. Tsirkin <mst@redhat.com>
> 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@nongnu.org
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> Message-Id: <1440666378-3152-1-git-send-email-mst@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
> Author: Alexandre Derumier <aderumier@odiso.com>
> 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@odiso.com>
> Message-Id: <1434711418-20429-1-git-send-email-aderumier@odiso.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit c765fcac96e111199225c7387c01694fe076b341
> Author: Peter Crosthwaite <crosthwaitepeter@gmail.com>
> 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@gmail.com>
> Message-Id: <
> 1440844439-19391-1-git-send-email-crosthwaite.peter@gmail.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f42bf6a262ab5923a1a3bc8f731b830396937c47
> Author: Gonglei <arei.gonglei@huawei.com>
> 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@huawei.com>
> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
> Message-Id: <
> 1440553971-11108-1-git-send-email-arei.gonglei@huawei.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
>
> commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.gi
> t.carlos.torres@rackspace.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 3904e6bf042391abc749d717465022e96e276fc7
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.gi
> t.carlos.torres@rackspace.com>
> [Use uint64_t in prototype. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.gi
> t.carlos.torres@rackspace.com>
> [Use int64_t in prototype, since that's what QEMU uses. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit c817c01548b1500753d0bea3852938d919161778
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.gi
> t.carlos.torres@rackspace.com>
> [Fix tests for 32-bit build. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <07199f1c0ff3892790c6322123aee1e92f580550.1437346779.gi
> t.carlos.torres@rackspace.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d1142fb83efdcf8a6c2dee825569892203e16d2c
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-11-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 709037636992e9289ce9147e59d56fb35d90b140
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-13-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-10-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 5243722376873a48e9852a58b91f4d4101ee66e4
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-9-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
> Author: Michael Marineau <michael.marineau@coreos.com>
> 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@coreos.com>
> Message-Id: <
> 1439103775-11836-1-git-send-email-michael.marineau@coreos.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
> Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
> 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@redhat.com>
> Message-Id: <1439547914-18249-1-git-send-email-dgilbert@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit aed807c8e2bf009b2c6a35490d4fd4383887221d
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit b0a46fa796504c7334202877a68c857e49f7c96c
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f240eb6fdcf63a5600e15fb44c6960586459a97f
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 9373e63297c43752f9cf085feb7f5aed57d959f8
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
> Author: Andrey Smetanin <asmetanin@virtuozzo.com>
> 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@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Andreas Färber <afaerber@suse.de>
> Message-Id: <1435924905-8926-10-git-send-email-den@openvz.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
> Author: Peter Lieven <pl@kamp.de>
> 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@nongnu.org
> Reported-by: Andrey Korolyov <andrey@xdel.ru>
> Signed-off-by: Peter Lieven <pl@kamp.de>
> Message-Id: <1439552016-8557-1-git-send-email-pl@kamp.de>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f3926945c85689e8af324c0db0b39be771dbbebb
> Author: Fam Zheng <famz@redhat.com>
> 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@redhat.com>
> Message-Id: <1441596538-4412-1-git-send-email-famz@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
> Author: Aníbal Limón <anibal.limon@linux.intel.com>
> 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@nongnu.org
> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
> Message-Id: <
> 1441313313-3040-1-git-send-email-anibal.limon@linux.intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d12f7309483e20d1bae9304f4b812bf53a8e6510
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-8-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
> Author: Emilio G. Cota <cota@braap.org>
> Date: Sun Aug 23 20:23:35 2015 -0400
>
> seqlock: add missing 'inline' to seqlock_read_retry
>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> Message-Id: <1440375847-17603-7-git-send-email-cota@braap.org>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
> Author: Emilio G. Cota <cota@braap.org>
> Date: Sun Aug 23 20:23:40 2015 -0400
>
> qemu-thread: handle spurious futex_wait wakeups
>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> Message-Id: <1440375847-17603-12-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
>
> 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@linaro.org>
> 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@gnu.org>"
> # gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
>
> * 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@linaro.org>
>
> commit 47d4be12c3997343e436c6cca89aefbbbeb70863
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 9fd1a94888cd6a559f95c3596ec1ac28b74838c1
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 8fd19e6cfd5b6cdf028c6ac2ff4157ed831ea3a6
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 756920876f60829fad0d15df4f3fa205077a8131
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 6940fab84b826175cf90d48d0e3da1b76518f5b4
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
>
> commit 2496ff1311283480f9de3614080b8842d838ade4
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> 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@greensocs.com>
> Message-Id: <
> 1439220437-23957-6-git-send-email-fred.konrad@greensocs.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 677ef6230b603571ae05125db469f7b4c8912a77
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> 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@greensocs.com>
> Message-Id: <
> 1439220437-23957-5-git-send-email-fred.konrad@greensocs.com>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> [Merge Emilio G. Cota's patch to remove volatile. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d5f8d61390de8f2acc0da93f184e421a709cb503
> Author: KONRAD Frederic <fred.konrad@greensocs.com>
> 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@greensocs.com>
> Message-Id: <
> 1439220437-23957-9-git-send-email-fred.konrad@greensocs.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 376692b9dc6f02303ee07a4146d08d8727d79c0c
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@linaro.org>
> Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 0c71d41e2aa3c7356500ae624166f3bb8c201aee
> Author: Michael S. Tsirkin <mst@redhat.com>
> 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@nongnu.org
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> Message-Id: <1440666378-3152-1-git-send-email-mst@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 7b01cb974f1093885c40bf4d0d3e78e27e531363
> Author: Alexandre Derumier <aderumier@odiso.com>
> 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@odiso.com>
> Message-Id: <1434711418-20429-1-git-send-email-aderumier@odiso.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 3f7a899ff4e0681ed148b1cea07dc65550114fdb
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit c765fcac96e111199225c7387c01694fe076b341
> Author: Peter Crosthwaite <crosthwaitepeter@gmail.com>
> 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@gmail.com>
> Message-Id: <
> 1440844439-19391-1-git-send-email-crosthwaite.peter@gmail.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f42bf6a262ab5923a1a3bc8f731b830396937c47
> Author: Gonglei <arei.gonglei@huawei.com>
> 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@huawei.com>
> Signed-off-by: Gonglei <arei.gonglei@huawei.com>
> Message-Id: <
> 1440553971-11108-1-git-send-email-arei.gonglei@huawei.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f1e155bbf863ade457019c6f09d4cba06b2d6bb4
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
>
> commit 71c47b01ca0df34d6b41e0975be6e0633c5254cf
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 690a35e1f2acf4ccd0501b18228bc6fba8f9c768
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d4ba8cb0a17e7de54753ff1bdeee4428118bb9ab
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <11ac63e95d88551f1c2c9b1216b15d3cb8ba4468.1437346779.gi
> t.carlos.torres@rackspace.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 3904e6bf042391abc749d717465022e96e276fc7
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <e0f0f611c9a81f3c29f451d0b17d755dfab1e90a.1437346779.gi
> t.carlos.torres@rackspace.com>
> [Use uint64_t in prototype. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 8ac4df40cc5de606a8ac9174e2340c21093b4e3b
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <7454a6bb9ec03b629e8beb4f109dd30dc2c9804c.1437346779.gi
> t.carlos.torres@rackspace.com>
> [Use int64_t in prototype, since that's what QEMU uses. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit c817c01548b1500753d0bea3852938d919161778
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <9621b4ae8e35fded31c715c2ae2a98f904f07ad0.1437346779.gi
> t.carlos.torres@rackspace.com>
> [Fix tests for 32-bit build. - Paolo]
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 764e0fa497ff5bbc9c9d7c116da2f00f34e71716
> Author: Carlos L. Torres <carlos.torres@rackspace.com>
> 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@rackspace.com>
> Message-Id: <07199f1c0ff3892790c6322123aee1e92f580550.1437346779.gi
> t.carlos.torres@rackspace.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d1142fb83efdcf8a6c2dee825569892203e16d2c
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-11-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 709037636992e9289ce9147e59d56fb35d90b140
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-13-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 492e1ca9bd3f43ba417a5cf918e6c769aa2478b9
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-10-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 5243722376873a48e9852a58b91f4d4101ee66e4
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-9-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 12a1ddc160cb6a73e8a6c319f3962a20da2cd22f
> Author: Michael Marineau <michael.marineau@coreos.com>
> 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@coreos.com>
> Message-Id: <
> 1439103775-11836-1-git-send-email-michael.marineau@coreos.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 3c9589e180d98cdadb143bd2a792fb9d19d9aec6
> Author: Dr. David Alan Gilbert <dgilbert@redhat.com>
> 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@redhat.com>
> Message-Id: <1439547914-18249-1-git-send-email-dgilbert@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit e0c382113f768cc375a0d61b7cb3692f1b4bba58
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 9102dedaa1ee1e89ce4a81283c403ff4928e9ef9
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit aed807c8e2bf009b2c6a35490d4fd4383887221d
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit ab096a75cd626dcd4ad34b2a11652df0269bee0d
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit b0a46fa796504c7334202877a68c857e49f7c96c
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f240eb6fdcf63a5600e15fb44c6960586459a97f
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 9373e63297c43752f9cf085feb7f5aed57d959f8
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 5039d6e23586fe6bbedc5e4fe302b48a66890ade
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 19d2b5e6ff7202c2bf45c547efa85ae6c2d76bbd
> Author: Paolo Bonzini <pbonzini@redhat.com>
> 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@twiddle.net>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 5f5b5942d56a138baad0ae01458d5d0e62d5be68
> Author: Andrey Smetanin <asmetanin@virtuozzo.com>
> 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@virtuozzo.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Andreas Färber <afaerber@suse.de>
> Message-Id: <1435924905-8926-10-git-send-email-den@openvz.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 6d1f252d8c1ba73bf6ed9af28731a9c9c3d473a2
> Author: Peter Lieven <pl@kamp.de>
> 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@nongnu.org
> Reported-by: Andrey Korolyov <andrey@xdel.ru>
> Signed-off-by: Peter Lieven <pl@kamp.de>
> Message-Id: <1439552016-8557-1-git-send-email-pl@kamp.de>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit f3926945c85689e8af324c0db0b39be771dbbebb
> Author: Fam Zheng <famz@redhat.com>
> 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@redhat.com>
> Message-Id: <1441596538-4412-1-git-send-email-famz@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 46036b2462c7ff56c0af6466ea6b9248197a38a8
> Author: Aníbal Limón <anibal.limon@linux.intel.com>
> 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@nongnu.org
> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
> Message-Id: <
> 1441313313-3040-1-git-send-email-anibal.limon@linux.intel.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit d12f7309483e20d1bae9304f4b812bf53a8e6510
> Author: Emilio G. Cota <cota@braap.org>
> 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@braap.org>
> Message-Id: <1440375847-17603-8-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 123fdbac9b8f1e394fbe92e8b5359193e94ba5bf
> Author: Emilio G. Cota <cota@braap.org>
> Date: Sun Aug 23 20:23:35 2015 -0400
>
> seqlock: add missing 'inline' to seqlock_read_retry
>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> Message-Id: <1440375847-17603-7-git-send-email-cota@braap.org>
> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> commit 16ef9d0252318d7e32e445fd7474af55dbaab7db
> Author: Emilio G. Cota <cota@braap.org>
> Date: Sun Aug 23 20:23:40 2015 -0400
>
> qemu-thread: handle spurious futex_wait wakeups
>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> Message-Id: <1440375847-17603-12-git-send-email-cota@braap.org>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
>
> 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@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [qemu-mainline bisection] complete test-armhf-armhf-xl-vhd
2015-09-21 8:29 ` Ian Campbell
@ 2015-09-21 10:52 ` Ian Jackson
0 siblings, 0 replies; 4+ messages in thread
From: Ian Jackson @ 2015-09-21 10:52 UTC (permalink / raw)
To: Ian Campbell
Cc: Anthony PERARD, xen-devel, osstest service owner,
Stefano Stabellini
Ian Campbell writes ("Re: [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.
That is plausible. The bisector will keep going until a full flight
has picked up and tested the new input version.
(I haven't checked the timeline for this.)
Ian.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [qemu-mainline bisection] complete test-armhf-armhf-xl-vhd
@ 2017-06-13 4:32 osstest service owner
0 siblings, 0 replies; 4+ messages in thread
From: osstest service owner @ 2017-06-13 4:32 UTC (permalink / raw)
To: xen-devel, osstest-admin
[-- Attachment #1: Type: text/plain, Size: 11742 bytes --]
branch xen-unstable
xenbranch xen-unstable
job test-armhf-armhf-xl-vhd
testid guest-start
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: 4d43a603c71d0eb92534bc82b72933f329d8a64c
Bug not present: c90e9392efa6579e714fe9aa2993e7d89e3792dc
Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/110394/
commit 4d43a603c71d0eb92534bc82b72933f329d8a64c
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Thu Jan 26 18:26:44 2017 +0400
char: move CharBackend handling in char-fe unit
Move all the frontend struct and methods to a seperate unit. This avoids
accidentally mixing backend and frontend calls, and helps with readabilty.
Make qemu_chr_replay() a macro shared by both char and char-fe.
Export qemu_chr_write(), and use a macro for qemu_chr_write_all()
(nb: yes, CharBackend is for char frontend :)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
For bisection revision-tuple graph see:
http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/test-armhf-armhf-xl-vhd.guest-start.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.guest-start --summary-out=tmp/110394.bisection-summary --basis-template=109975 --blessings=real,real-bisect qemu-mainline test-armhf-armhf-xl-vhd guest-start
Searching for failure / basis pass:
110340 fail [host=arndale-bluewater] / 109975 [host=cubietruck-picasso] 109954 [host=arndale-westfield] 109928 [host=arndale-metrocentre] 109898 [host=cubietruck-gleizes] 109862 [host=cubietruck-metzinger] 109711 [host=arndale-lakeside] 109701 [host=cubietruck-braque] 109664 ok.
Failure / basis pass flights: 110340 / 109664
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 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 64175afc695c0672876fbbfc31b299c86d562cb4 aeef64107afca9c6c0428b2cb26a3ba599b3ed75
Basis pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 56821559f0ba682fe6b367815572e6f974d329ab a7d4a5904b62731551e366ff62d84759c8ee68e2
Generating revisions with ./adhoc-revtuple-generator git://xenbits.xen.org/linux-pvops.git#92ed32019d0dd22b796608079023ce42aa8a5a57-92ed32019d0dd22b796608079023ce42aa8a5a57 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://git.qemu.org/qemu.git#56821559f0ba682fe6b367815572e6f974d329ab-64175afc695c0672876fbbfc31b299c86d562cb4 git://xenbits.xen.org/xen.git#a7d4a5904b62731551e366ff62d84759c8ee68e2-aeef64107afca9c6c0428b2cb26a3ba599b3ed75
Loaded 4079 nodes in revision graph
Searching for test results:
109583 [host=arndale-metrocentre]
109613 [host=arndale-westfield]
109653 [host=cubietruck-picasso]
109664 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 56821559f0ba682fe6b367815572e6f974d329ab a7d4a5904b62731551e366ff62d84759c8ee68e2
109701 [host=cubietruck-braque]
109711 [host=arndale-lakeside]
109898 [host=cubietruck-gleizes]
109862 [host=cubietruck-metzinger]
109954 [host=arndale-westfield]
109928 [host=arndale-metrocentre]
109975 [host=cubietruck-picasso]
110032 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0d4aac7467dd02e5657b79e867f067330266a24 d8eed4021d50eb48ca75c8559aed95a2ad74afaa
110022 fail irrelevant
110054 fail irrelevant
110114 fail irrelevant
110084 fail irrelevant
110161 fail irrelevant
110254 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 56821559f0ba682fe6b367815572e6f974d329ab a7d4a5904b62731551e366ff62d84759c8ee68e2
110210 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 64175afc695c0672876fbbfc31b299c86d562cb4 08463297d33d075b6529229c9d43c90356093bae
110284 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 066ae4f829bcc6b8c98994a7c22fe570d500d548 d8b833d78f6bfde9855a949b5e6d3790d78c0fb7
110268 blocked 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 64175afc695c0672876fbbfc31b299c86d562cb4 08463297d33d075b6529229c9d43c90356093bae
110265 fail irrelevant
110304 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 08f44282c1f6afe1ffdc31e45dae870ddbb32ed3 876800d5f9de8b15355172794cb82f505dd26e18
110289 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 61462af65af0d2f56b56097b9ac5eb32f471a673 a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110313 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0748b3526e8cb78b9cd64208426bfc3d54a72b04 429d839a1217a3f64dd158cc384daef523b4c06f
110267 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c6e84fbd447a51e1161d74d71566a5f67b47eac5 d8eed4021d50eb48ca75c8559aed95a2ad74afaa
110278 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 64175afc695c0672876fbbfc31b299c86d562cb4 08463297d33d075b6529229c9d43c90356093bae
110320 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ba9fcea1cb6d80536f780760d870416fe5b85863 876800d5f9de8b15355172794cb82f505dd26e18
110307 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 697e42dec86d9ae706d4ed42c71acb5f35a463c8 876800d5f9de8b15355172794cb82f505dd26e18
110294 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e5cac10a3b8c97af1f482cd9e8859cc54fc46524 a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110340 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 64175afc695c0672876fbbfc31b299c86d562cb4 aeef64107afca9c6c0428b2cb26a3ba599b3ed75
110331 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 43771d5d92312504305c19abe29ec5bfabd55f01 a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110337 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 03e947f9c2264356aef037e6bf9c496b5deae2d2 d8eed4021d50eb48ca75c8559aed95a2ad74afaa
110345 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cedbcb01529cb6cf9a2289cdbebbc63f6149fc18 d8eed4021d50eb48ca75c8559aed95a2ad74afaa
110354 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c90e9392efa6579e714fe9aa2993e7d89e3792dc a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110390 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c90e9392efa6579e714fe9aa2993e7d89e3792dc a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110364 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 6b10e573d15ef82dbc5c5b3726028e6642e134f6 d8eed4021d50eb48ca75c8559aed95a2ad74afaa
110370 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a9b1ca38c2b1f062f22d4847e3b4c848d0fb84c3 a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110394 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4d43a603c71d0eb92534bc82b72933f329d8a64c a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110372 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4d43a603c71d0eb92534bc82b72933f329d8a64c a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110378 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 56821559f0ba682fe6b367815572e6f974d329ab a7d4a5904b62731551e366ff62d84759c8ee68e2
110381 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 64175afc695c0672876fbbfc31b299c86d562cb4 aeef64107afca9c6c0428b2cb26a3ba599b3ed75
110385 pass 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c90e9392efa6579e714fe9aa2993e7d89e3792dc a0b40c3e08bb81192063f97089cb8c3849b8cfa0
110388 fail 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4d43a603c71d0eb92534bc82b72933f329d8a64c a0b40c3e08bb81192063f97089cb8c3849b8cfa0
Searching for interesting versions
Result found: flight 109664 (pass), for basis pass
Result found: flight 110340 (fail), for basis failure
Repro found: flight 110378 (pass), for basis pass
Repro found: flight 110381 (fail), for basis failure
0 revisions at 92ed32019d0dd22b796608079023ce42aa8a5a57 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c90e9392efa6579e714fe9aa2993e7d89e3792dc a0b40c3e08bb81192063f97089cb8c3849b8cfa0
No revisions left to test, checking graph state.
Result found: flight 110354 (pass), for last pass
Result found: flight 110372 (fail), for first failure
Repro found: flight 110385 (pass), for last pass
Repro found: flight 110388 (fail), for first failure
Repro found: flight 110390 (pass), for last pass
Repro found: flight 110394 (fail), for first failure
*** Found and reproduced problem changeset ***
Bug is in tree: qemuu git://git.qemu.org/qemu.git
Bug introduced: 4d43a603c71d0eb92534bc82b72933f329d8a64c
Bug not present: c90e9392efa6579e714fe9aa2993e7d89e3792dc
Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/110394/
commit 4d43a603c71d0eb92534bc82b72933f329d8a64c
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Thu Jan 26 18:26:44 2017 +0400
char: move CharBackend handling in char-fe unit
Move all the frontend struct and methods to a seperate unit. This avoids
accidentally mixing backend and frontend calls, and helps with readabilty.
Make qemu_chr_replay() a macro shared by both char and char-fe.
Export qemu_chr_write(), and use a macro for qemu_chr_write_all()
(nb: yes, CharBackend is for char frontend :)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Revision graph left in /home/logs/results/bisect/qemu-mainline/test-armhf-armhf-xl-vhd.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
110394: tolerable ALL FAIL
flight 110394 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/110394/
Failures :-/ but no regressions.
Tests which did not succeed,
including tests which could not be run:
test-armhf-armhf-xl-vhd 10 guest-start 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
[-- Attachment #2: Type: text/plain, Size: 127 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-06-13 4:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-13 4:32 [qemu-mainline bisection] complete test-armhf-armhf-xl-vhd osstest service owner
-- strict thread matches above, loose matches on Subject: below --
2015-09-21 5:36 osstest service owner
2015-09-21 8:29 ` Ian Campbell
2015-09-21 10:52 ` Ian Jackson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).