qemu/include/block
Prasad Pandit 24687abf23 linux-aio: add IO_CMD_FDSYNC command support
Libaio defines IO_CMD_FDSYNC command to sync all outstanding
asynchronous I/O operations, by flushing out file data to the
disk storage. Enable linux-aio to submit such aio request.

When using aio=native without fdsync() support, QEMU creates
pthreads, and destroying these pthreads results in TLB flushes.
In a real-time guest environment, TLB flushes cause a latency
spike. This patch helps to avoid such spikes.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Prasad Pandit <pjp@fedoraproject.org>
Message-ID: <20240425070412.37248-1-ppandit@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2024-06-10 11:05:43 +02:00
..
accounting.h block: add accounting for zone append operation 2023-05-15 08:18:10 -04:00
aio-wait.h system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
aio.h aio: warn about iohandler_ctx special casing 2024-06-10 11:05:43 +02:00
aio_task.h coroutine: Move coroutine_fn to qemu/osdep.h, trim includes 2023-01-19 10:18:28 +01:00
block-common.h qapi: blockdev-backup: add discard-source parameter 2024-05-28 15:52:15 +03:00
block-copy.h qapi: blockdev-backup: add discard-source parameter 2024-05-28 15:52:15 +03:00
block-global-state.h commit: Allow users to request only format driver names in backing file format 2024-01-26 11:16:58 +01:00
block-hmp-cmds.h include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
block-io.h block: remove outdated AioContext locking comments 2023-12-21 22:49:27 +01:00
block.h include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
block_backup.h include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
block_int-common.h commit: Allow users to request only format driver names in backing file format 2024-01-26 11:16:58 +01:00
block_int-global-state.h qapi: blockdev-backup: add discard-source parameter 2024-05-28 15:52:15 +03:00
block_int-io.h block: Mark bdrv_cow_child() and callers GRAPH_RDLOCK 2023-11-07 19:14:19 +01:00
block_int.h include/block: Untangle inclusion loops 2023-01-20 07:24:28 +01:00
blockjob.h Rename "QEMU global mutex" to "BQL" in comments and docs 2024-01-08 10:45:43 -05:00
blockjob_int.h block: Mark block_job_add_bdrv() GRAPH_WRLOCK 2023-11-07 19:14:19 +01:00
dirty-bitmap.h block: Mark bdrv_*_dirty_bitmap() and callers GRAPH_RDLOCK 2023-02-23 19:49:32 +01:00
export.h block/export: don't require AioContext lock around blk_exp_ref/unref() 2023-05-30 17:32:02 +02:00
fuse.h
graph-lock.h graph-lock: remove AioContext locking 2023-12-21 22:49:27 +01:00
nbd.h nbd/server: Prepare for per-request filtering of BLOCK_STATUS 2023-10-05 11:02:08 -05:00
nvme.h hw/nvme: flexible data placement emulation 2023-03-06 15:28:02 +01:00
qapi.h block: Mark bdrv_get_parent_name() and callers GRAPH_RDLOCK 2023-10-12 16:31:33 +02:00
qdict.h include: move qdict_{crumple,flatten} declarations 2022-04-21 17:03:51 +04:00
raw-aio.h linux-aio: add IO_CMD_FDSYNC command support 2024-06-10 11:05:43 +02:00
replication.h replication: move include out of root directory 2021-05-26 14:49:46 +02:00
reqlist.h block/reqlist: add reqlist_wait_all() 2022-03-07 09:33:30 +01:00
snapshot.h block: remove AioContext locking 2023-12-21 22:49:27 +01:00
thread-pool.h thread-pool: avoid passing the pool parameter every time 2023-04-25 13:17:28 +02:00
throttle-groups.h block/throttle-groups: Use ThrottleDirection instread of bool is_write 2023-08-29 10:49:24 +02:00
ufs.h hw/ufs: Add support MCQ of UFSHCI 4.0 2024-06-03 16:20:42 +09:00
write-threshold.h block: Clean up includes 2023-02-08 07:28:05 +01:00