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