qemu/include/block
Paolo Bonzini 05e514b1d4 AioContext: optimize clearing the EventNotifier
It is pretty rare for aio_notify to actually set the EventNotifier.  It
can happen with worker threads such as thread-pool.c's, but otherwise it
should never be set thanks to the ctx->notify_me optimization.  The
previous patch, unfortunately, added an unconditional call to
event_notifier_test_and_clear; now add a userspace fast path that
avoids the call.

Note that it is not possible to do the same with event_notifier_set;
it would break, as proved (again) by the included formal model.

This patch survived over 3000 reboots on aarch64 KVM.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Tested-by: Richard W.M. Jones <rjones@redhat.com>
Message-id: 1437487673-23740-7-git-send-email-pbonzini@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2015-07-22 12:41:40 +01:00
..
accounting.h block: add accounting for merged requests 2015-02-06 17:24:21 +01:00
aio.h AioContext: optimize clearing the EventNotifier 2015-07-22 12:41:40 +01:00
block.h block: Introduce bdrv_unref_child() 2015-07-14 17:15:23 +02:00
block_int.h block: Fix backing file child when modifying graph 2015-07-14 17:15:23 +02:00
blockjob.h blockjob: add block_job_release function 2015-07-07 14:27:14 +01:00
coroutine.h coroutine: drop qemu_coroutine_adjust_pool_size 2015-01-13 13:43:29 +00:00
coroutine_int.h coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
nbd.h nbd: Set block size to BDRV_SECTOR_SIZE 2015-03-18 12:07:01 +01:00
qapi.h qmp: fill in the image field in BlockDeviceInfo 2015-04-28 15:36:09 +02:00
scsi.h scsi: Print command name in debug 2014-06-18 08:47:10 +02:00
snapshot.h qemu-nbd: support internal snapshot export 2013-12-04 15:19:00 +01:00
thread-pool.h block: Rename BlockDriverCompletionFunc to BlockCompletionFunc 2014-10-20 13:41:27 +02:00
throttle-groups.h throttle: acquire the ThrottleGroup lock in bdrv_swap() 2015-06-12 14:00:00 +01:00
write-threshold.h block: add event when disk usage exceeds threshold 2015-02-06 17:24:21 +01:00