qemu/include/block
Paolo Bonzini 5b8bb3595a async: add aio_bh_schedule_oneshot
qemu_bh_delete is already clearing bh->scheduled at the same time
as it's setting bh->deleted.  Since it's not using any memory
barriers, there is no synchronization going on for bh->deleted,
and this makes the bh->deleted checks superfluous in aio_compute_timeout,
aio_bh_poll and aio_ctx_check.

Just remove them, and put the (bh->scheduled && bh->deleted) combo
to work in a new function aio_bh_schedule_oneshot.  The new function
removes the need to save the QEMUBH pointer between the creation
and the execution of the bottom half.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2016-10-07 13:34:07 +02:00
..
accounting.h
aio.h async: add aio_bh_schedule_oneshot 2016-10-07 13:34:07 +02:00
block_backup.h Backup: export interfaces for extra serialization 2016-09-13 11:00:56 +01:00
block_int.h block: mirror: fix wrong comment of mirror_start 2016-09-28 11:21:46 +01:00
block.h block: Move 'discard' option to bdrv_open_common() 2016-09-29 14:13:39 +02:00
blockjob.h
dirty-bitmap.h dirty-bitmap: operate with int64_t amount 2016-07-19 16:54:46 -04:00
nbd.h nbd-server: Use a separate BlockBackend 2016-09-05 19:06:47 +02:00
qapi.h
raw-aio.h
scsi.h
snapshot.h
thread-pool.h
throttle-groups.h
write-threshold.h