qemu-e2k/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 blockjob: Add 'job_id' parameter to block_job_create() 2016-07-13 13:26:02 +02:00
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 linux-aio: share one LinuxAioState within an AioContext 2016-07-18 15:09:31 +01:00
scsi.h * SCSI scanner support 2016-07-14 13:44:06 +01:00
snapshot.h
thread-pool.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
throttle-groups.h block: Move I/O throttling configuration functions to BlockBackend 2016-05-19 16:45:30 +02:00
write-threshold.h