qemu-e2k/tests
Paolo Bonzini c05df34a87 test-aio-multithread: add performance comparison with thread-based mutexes
Add two implementations of the same benchmark as the previous patch,
but using pthreads.  One uses a normal QemuMutex, the other is Linux
only and implements a fair mutex based on MCS locks and futexes.
This shows that the slower performance of the 5-thread case is due to
the fairness of CoMutex, rather than to coroutines.  If fairness does
not matter, as is the case with two threads, CoMutex can actually be
faster than pthreads.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Message-id: 20170213181244.16297-4-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2017-02-21 11:39:40 +00:00
..
acpi-test-data acpi-test: update expected files 2017-01-10 07:06:42 +02:00
data
docker tests/docker/Makefile.include: add a generic docker-run target 2016-10-17 10:05:48 +08:00
guest-debug
image-fuzzer
libqos libqos: fix spapr qpci_map() 2017-01-31 10:10:13 +11:00
migration
multiboot
qapi-schema qapi: add qapi2texi script 2017-01-16 10:10:35 +01:00
qemu-iotests qemu-io: Add failure regression tests 2017-02-12 00:47:42 +01:00
rocker
tcg target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
vmstate-static-checker-data
.gitignore host-utils: Implement unsigned quadword left/right shift and unit tests 2017-01-31 10:10:14 +11:00
ac97-test.c
ahci-test.c ahci-test: add QMP tray test for ATAPI 2016-11-14 11:15:55 -05:00
atomic_add-bench.c tests: add atomic_add-bench 2016-10-26 08:29:01 -07:00
bios-tables-test.c tests: pc: add memory hotplug acpi tables tests 2017-01-10 07:02:53 +02:00
boot-order-test.c
boot-sector.c
boot-sector.h
boot-serial-test.c boot-serial-test: Add a test for the powernv machine 2016-11-15 11:45:01 +11:00
check-block.sh
check-qdict.c qdict: implement a qdict_crumple method for un-flattening a dict 2016-10-25 17:56:14 +02:00
check-qfloat.c
check-qint.c
check-qjson.c tests: Avoid qobject_from_jsonf("%"PRId64) 2016-12-05 17:09:34 +01:00
check-qlist.c
check-qnull.c qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2016-10-25 16:25:54 +02:00
check-qom-interface.c
check-qom-proplist.c
check-qstring.c
crypto-tls-x509-helpers.c
crypto-tls-x509-helpers.h clean-up: removed duplicate #includes 2016-10-28 18:17:24 +03:00
device-introspect-test.c qom: Make all interface types abstract 2017-01-16 17:52:34 +01:00
display-vga-test.c qtest: add display-vga-test to ppc64 2017-01-31 10:10:13 +11:00
drive_del-test.c
ds1338-test.c
e1000-test.c
e1000e-test.c libqos: Change PCI accessors to take opaque BAR handle 2016-10-28 09:38:27 +11:00
eepro100-test.c
endianness-test.c
es1370-test.c
fdc-test.c
fw_cfg-test.c
hd-geo-test.c
i440fx-test.c
i82801b11-test.c
ide-test.c tests: Remove unneeded "-vnc none" option 2016-10-31 15:09:59 -02:00
intel-hda-test.c
io-channel-helpers.c
io-channel-helpers.h
ioh3420-test.c
iothread.c aio: introduce aio_co_schedule and aio_co_wake 2017-02-21 11:14:07 +00:00
iothread.h aio: introduce aio_co_schedule and aio_co_wake 2017-02-21 11:14:07 +00:00
ipmi-bt-test.c virtio, pc: fixes and features 2016-11-03 14:41:53 +00:00
ipmi-kcs-test.c tests: Remove unneeded "-vnc none" option 2016-10-31 15:09:59 -02:00
ipoctal232-test.c
ivshmem-test.c qtest: add ivshmem-test for ppc64 2017-01-31 10:10:13 +11:00
libqtest.c libqtest: handle zero length memwrite/memread 2017-01-12 10:45:59 +00:00
libqtest.h libqtest: add qmp_eventwait_ref 2016-11-14 11:15:54 -05:00
m25p80-test.c aspeed/smc: extend tests for Command mode 2017-01-20 11:15:08 +00:00
m48t59-test.c
Makefile.include aio: introduce aio_co_schedule and aio_co_wake 2017-02-21 11:14:07 +00:00
ne2000-test.c
nvme-test.c
pc-cpu-test.c
pcnet-test.c
pkix_asn1_tab.c qtest: fix make check complaint in crypto module 2016-10-19 10:09:24 +01:00
pnv-xscom-test.c tests: add XSCOM tests for the PowerNV machine 2016-11-15 11:38:18 +11:00
postcopy-test.c tests/postcopy: Use KVM on ppc64 only if it is KVM-HV 2016-11-23 12:00:48 +11:00
prom-env-test.c tests/prom-env: Ease time-out problems on slow hosts 2017-02-10 15:44:53 +00:00
ptimer-test-stubs.c tests: ptimer: Change the copyright comment 2016-10-24 16:26:53 +01:00
ptimer-test.c tests: ptimer: Replace 10000 with 1 2016-10-24 16:26:53 +01:00
ptimer-test.h tests: ptimer: Change the copyright comment 2016-10-24 16:26:53 +01:00
pvpanic-test.c
pxe-test.c
q35-test.c
qemu-iotests-quick.sh
qht-bench.c qht-bench: relax test_start/stop atomic accesses 2016-10-24 15:27:19 +02:00
qom-test.c
rcutorture.c
rtas-test.c tests: don't check if qtest_spapr_boot() returns NULL 2016-10-28 09:36:58 +11:00
rtc-test.c
rtl8139-test.c libqos: Change PCI accessors to take opaque BAR handle 2016-10-28 09:38:27 +11:00
spapr-phb-test.c
tco-test.c libqos: Change PCI accessors to take opaque BAR handle 2016-10-28 09:38:27 +11:00
test-aio-multithread.c test-aio-multithread: add performance comparison with thread-based mutexes 2017-02-21 11:39:40 +00:00
test-aio.c aio: add AioPollFn and io_poll() interface 2017-01-03 16:38:48 +00:00
test-arm-mptimer.c tests: Add tests for the ARM MPTimer 2016-10-24 16:26:54 +01:00
test-base64.c
test-bitcnt.c tests: New test-bitcnt 2017-01-10 08:49:59 -08:00
test-bitops.c
test-blockjob-txn.c blockjob: add block_job_start 2016-11-14 22:47:34 -05:00
test-blockjob.c blockjobs: split interface into public/private, Part 1 2016-11-01 08:04:56 -04:00
test-bufferiszero.c
test-char.c char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
test-clone-visitor.c
test-coroutine.c
test-crypto-afsplit.c
test-crypto-block.c
test-crypto-cipher.c crypto: add 3des-ede support when using libgcrypt/nettle 2016-12-21 14:26:26 +00:00
test-crypto-hash.c crypto: fix initialization of crypto in tests 2016-10-19 10:23:55 +01:00
test-crypto-hmac.c crypto: add HMAC algorithms testcases 2016-12-22 09:24:59 +00:00
test-crypto-ivgen.c
test-crypto-pbkdf.c
test-crypto-secret.c
test-crypto-tlscredsx509.c
test-crypto-tlssession.c
test-crypto-xts.c
test-cutils.c
test-filter-mirror.c
test-filter-redirector.c
test-hbitmap.c test-hbitmap: Add hbitmap_is_serializable() calls 2017-01-26 10:25:01 +08:00
test-int128.c int128: Use __int128 if available 2016-10-26 08:29:00 -07:00
test-io-channel-buffer.c
test-io-channel-command.c
test-io-channel-file.c
test-io-channel-socket.c io: change the QIOTask callback signature 2017-01-23 15:32:18 +00:00
test-io-channel-tls.c io: change the QIOTask callback signature 2017-01-23 15:32:18 +00:00
test-io-task.c io: fix possible double free of task error object 2017-01-26 10:26:18 +00:00
test-iov.c
test-logging.c
test-mul64.c
test-netfilter.c
test-opts-visitor.c
test-qdev-global-props.c
test-qdist.c
test-qemu-opts.c
test-qga.c test-qga: Avoid qobject_from_jsonv("%"PRId64) 2016-12-05 17:09:34 +01:00
test-qht-par.c
test-qht.c
test-qmp-commands.c qapi: rename QmpInputVisitor to QObjectInputVisitor 2016-10-25 16:25:54 +02:00
test-qmp-event.c
test-qobject-input-strict.c qapi: rename QmpInputVisitor to QObjectInputVisitor 2016-10-25 16:25:54 +02:00
test-qobject-input-visitor.c tests: Avoid qobject_from_jsonf("%"PRId64) 2016-12-05 17:09:34 +01:00
test-qobject-output-visitor.c qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2016-10-25 16:25:54 +02:00
test-rcu-list.c
test-replication.c test-replication: fix leaks 2016-11-15 15:41:00 +00:00
test-shift128.c host-utils: Implement unsigned quadword left/right shift and unit tests 2017-01-31 10:10:14 +11:00
test-string-input-visitor.c qapi: rename *qmp-*-visitor* to *qobject-*-visitor* 2016-10-25 16:25:48 +02:00
test-string-output-visitor.c qapi: rename *qmp-*-visitor* to *qobject-*-visitor* 2016-10-25 16:25:48 +02:00
test-thread-pool.c test-thread-pool: use generic AioContext infrastructure 2017-02-21 11:14:07 +00:00
test-throttle.c
test-timed-average.c
test-uuid.c test-uuid: fix leak 2016-11-11 20:53:23 +08:00
test-visitor-serialization.c qapi: rename QmpOutputVisitor to QObjectOutputVisitor 2016-10-25 16:25:54 +02:00
test-vmstate.c test-vmstate: remove yield_until_fd_readable 2017-02-16 14:06:55 +01:00
test-write-threshold.c
test-x86-cpuid-compat.c target-i386: Print warning when mixing [+-]foo and foo=(on|off) 2016-10-31 16:20:59 -02:00
test-x86-cpuid.c
test-xbzrle.c
tmp105-test.c
tpci200-test.c
usb-hcd-ehci-test.c libqos: Change PCI accessors to take opaque BAR handle 2016-10-28 09:38:27 +11:00
usb-hcd-ohci-test.c
usb-hcd-uhci-test.c
usb-hcd-xhci-test.c
vhost-user-bridge.c tests/vhost-user-bridge: use contrib/libvhost-user 2016-12-16 01:14:38 +02:00
vhost-user-test.c char: headers clean-up 2017-01-31 23:31:22 +04:00
virtio-9p-test.c tests: virtio-9p: improve error reporting 2017-01-25 09:34:35 +01:00
virtio-balloon-test.c
virtio-blk-test.c libqos: Give qvirtio_config_read*() consistent semantics 2016-10-28 09:38:27 +11:00
virtio-console-test.c
virtio-net-test.c tests: enable virtio tests on SPAPR 2016-10-28 09:36:58 +11:00
virtio-rng-test.c tests: enable virtio tests on SPAPR 2016-10-28 09:36:58 +11:00
virtio-scsi-test.c libqos: Give qvirtio_config_read*() consistent semantics 2016-10-28 09:38:27 +11:00
virtio-serial-test.c
vmxnet3-test.c
wdt_ib700-test.c