/openbmc/qemu/include/block/ |
H A D | aio.h | 62 bool aio_poll_disabled(AioContext *ctx); 78 void (*update)(AioContext *ctx, AioHandler *old_node, AioHandler *new_node); 92 int (*wait)(AioContext *ctx, AioHandlerList *ready_list, int64_t timeout); 108 bool (*need_wait)(AioContext *ctx); 126 struct AioContext { struct 264 AioContext *aio_context_new(Error **errp); 272 void aio_context_ref(AioContext *ctx); 280 void aio_context_unref(AioContext *ctx); 288 void aio_bh_schedule_oneshot_full(AioContext *ctx, QEMUBHFunc *cb, void *opaque, 312 QEMUBH *aio_bh_new_full(AioContext *ctx, QEMUBHFunc *cb, void *opaque, [all …]
|
H A D | raw-aio.h | 64 void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context); 65 void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context); 75 void luring_detach_aio_context(LuringState *s, AioContext *old_context); 76 void luring_attach_aio_context(LuringState *s, AioContext *new_context); 89 AioContext *old_context); 91 AioContext *new_context);
|
H A D | aio-wait.h | 81 AioContext *ctx_ = (ctx); \ 129 void aio_wait_bh_oneshot(AioContext *ctx, QEMUBHFunc *cb, void *opaque); 139 static inline bool in_aio_context_home_thread(AioContext *ctx) in in_aio_context_home_thread()
|
H A D | throttle-groups.h | 37 AioContext *aio_context; 75 AioContext *ctx); 83 AioContext *new_context);
|
H A D | thread-pool.h | 29 ThreadPool *thread_pool_new(struct AioContext *ctx); 41 void thread_pool_update_params(ThreadPool *pool, struct AioContext *ctx);
|
/openbmc/qemu/util/ |
H A D | async.c | 63 AioContext *ctx; 75 AioContext *ctx = bh->ctx; in aio_bh_enqueue() 129 void aio_bh_schedule_oneshot_full(AioContext *ctx, QEMUBHFunc *cb, in aio_bh_schedule_oneshot_full() 143 QEMUBH *aio_bh_new_full(AioContext *ctx, QEMUBHFunc *cb, void *opaque, in aio_bh_new_full() 180 int aio_bh_poll(AioContext *ctx) in aio_bh_poll() 276 aio_compute_timeout(AioContext *ctx) in aio_compute_timeout() 305 AioContext *ctx = (AioContext *) source; in aio_ctx_prepare() 329 AioContext *ctx = (AioContext *) source; in aio_ctx_check() 358 AioContext *ctx = (AioContext *) source; in aio_ctx_dispatch() 368 AioContext *ctx = (AioContext *) source; in aio_ctx_finalize() [all …]
|
H A D | aio-posix.h | 50 bool fdmon_epoll_try_upgrade(AioContext *ctx, unsigned npfd); 51 void fdmon_epoll_setup(AioContext *ctx); 52 void fdmon_epoll_disable(AioContext *ctx); 54 static inline bool fdmon_epoll_try_upgrade(AioContext *ctx, unsigned npfd) in fdmon_epoll_try_upgrade() 59 static inline void fdmon_epoll_setup(AioContext *ctx) in fdmon_epoll_setup() 63 static inline void fdmon_epoll_disable(AioContext *ctx) in fdmon_epoll_disable() 69 bool fdmon_io_uring_setup(AioContext *ctx); 70 void fdmon_io_uring_destroy(AioContext *ctx); 72 static inline bool fdmon_io_uring_setup(AioContext *ctx) in fdmon_io_uring_setup() 77 static inline void fdmon_io_uring_destroy(AioContext *ctx) in fdmon_io_uring_destroy()
|
H A D | aio-posix.c | 31 bool aio_poll_disabled(AioContext *ctx) in aio_poll_disabled() 53 static AioHandler *find_aio_handler(AioContext *ctx, int fd) in find_aio_handler() 68 static bool aio_remove_fd_handler(AioContext *ctx, AioHandler *node) in aio_remove_fd_handler() 101 void aio_set_fd_handler(AioContext *ctx, in aio_set_fd_handler() 182 static void aio_set_fd_poll(AioContext *ctx, int fd, in aio_set_fd_poll() 196 void aio_set_event_notifier(AioContext *ctx, in aio_set_event_notifier() 207 void aio_set_event_notifier_poll(AioContext *ctx, in aio_set_event_notifier_poll() 217 static bool poll_set_started(AioContext *ctx, AioHandlerList *ready_list, in poll_set_started() 259 bool aio_prepare(AioContext *ctx) in aio_prepare() 270 bool aio_pending(AioContext *ctx) in aio_pending() [all …]
|
H A D | fdmon-io_uring.c | 80 static struct io_uring_sqe *get_sqe(AioContext *ctx) in get_sqe() 135 static void fdmon_io_uring_update(AioContext *ctx, in fdmon_io_uring_update() 169 static void add_poll_add_sqe(AioContext *ctx, AioHandler *node) in add_poll_add_sqe() 178 static void add_poll_remove_sqe(AioContext *ctx, AioHandler *node) in add_poll_remove_sqe() 191 static void add_timeout_sqe(AioContext *ctx, int64_t ns) in add_timeout_sqe() 205 static void fill_sq_ring(AioContext *ctx) in fill_sq_ring() 225 static bool process_cqe(AioContext *ctx, in process_cqe() 255 static int process_cq_ring(AioContext *ctx, AioHandlerList *ready_list) in process_cq_ring() 275 static int fdmon_io_uring_wait(AioContext *ctx, AioHandlerList *ready_list, in fdmon_io_uring_wait() 298 static bool fdmon_io_uring_need_wait(AioContext *ctx) in fdmon_io_uring_need_wait() [all …]
|
H A D | aio-win32.c | 39 static void aio_remove_fd_handler(AioContext *ctx, AioHandler *node) in aio_remove_fd_handler() 65 void aio_set_fd_handler(AioContext *ctx, in aio_set_fd_handler() 134 void aio_set_event_notifier(AioContext *ctx, in aio_set_event_notifier() 173 void aio_set_event_notifier_poll(AioContext *ctx, in aio_set_event_notifier_poll() 181 bool aio_prepare(AioContext *ctx) in aio_prepare() 225 bool aio_pending(AioContext *ctx) in aio_pending() 255 static bool aio_dispatch_handlers(AioContext *ctx, HANDLE event) in aio_dispatch_handlers() 314 void aio_dispatch(AioContext *ctx) in aio_dispatch() 323 bool aio_poll(AioContext *ctx, bool blocking) in aio_poll() 422 void aio_context_setup(AioContext *ctx) in aio_context_setup() [all …]
|
H A D | fdmon-epoll.c | 15 void fdmon_epoll_disable(AioContext *ctx) in fdmon_epoll_disable() 34 static void fdmon_epoll_update(AioContext *ctx, in fdmon_epoll_update() 57 static int fdmon_epoll_wait(AioContext *ctx, AioHandlerList *ready_list, in fdmon_epoll_wait() 102 static bool fdmon_epoll_try_enable(AioContext *ctx) in fdmon_epoll_try_enable() 124 bool fdmon_epoll_try_upgrade(AioContext *ctx, unsigned npfd) in fdmon_epoll_try_upgrade() 151 void fdmon_epoll_setup(AioContext *ctx) in fdmon_epoll_setup()
|
H A D | thread-pool.c | 57 AioContext *ctx; 245 AioContext *ctx = qemu_get_current_aio_context(); in thread_pool_submit_aio() 298 void thread_pool_update_params(ThreadPool *pool, AioContext *ctx) in thread_pool_update_params() 325 static void thread_pool_init_one(ThreadPool *pool, AioContext *ctx) in thread_pool_init_one() 345 ThreadPool *thread_pool_new(AioContext *ctx) in thread_pool_new()
|
/openbmc/qemu/docs/devel/ |
H A D | multiple-iothreads.rst | 54 ``IOThread`` is dealing explicitly with the event loop object, ``AioContext`` 56 implicitly uses the main loop's ``AioContext``. Code that supports running 57 in ``IOThread``\ s must be aware of its ``AioContext``. 59 AioContext supports the following services: 65 There are several old APIs that use the main loop AioContext: 77 Instead, use the ``AioContext`` functions directly (see ``include/block/aio.h``): 91 The ``AioContext`` can be obtained from the ``IOThread`` using 93 ``qemu_get_aio_context()``. Code that takes an ``AioContext`` argument 94 works both in ``IOThread``\ s or the main loop, depending on which ``AioContext`` 102 ``AioContext`` functions like ``aio_set_fd_handler()``, [all …]
|
/openbmc/qemu/include/qemu/ |
H A D | vhost-user-server.h | 39 AioContext *ctx; 59 AioContext *ctx, 70 void vhost_user_server_attach_aio_context(VuServer *server, AioContext *ctx);
|
H A D | coroutine-core.h | 93 void qemu_aio_coroutine_enter(AioContext *ctx, Coroutine *co); 106 AioContext *qemu_coroutine_get_aio_context(Coroutine *co);
|
/openbmc/qemu/stubs/ |
H A D | graph-lock.c | 4 void register_aiocontext(AioContext *ctx) in register_aiocontext() 8 void unregister_aiocontext(AioContext *ctx) in unregister_aiocontext()
|
H A D | io_uring.c | 14 void luring_detach_aio_context(LuringState *s, AioContext *old_context) in luring_detach_aio_context() 19 void luring_attach_aio_context(LuringState *s, AioContext *new_context) in luring_attach_aio_context()
|
H A D | linux-aio.c | 14 void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context) in laio_detach_aio_context() 19 void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context) in laio_attach_aio_context()
|
/openbmc/qemu/include/io/ |
H A D | channel.h | 85 AioContext *read_ctx; 87 AioContext *write_ctx; 156 AioContext *read_ctx, 158 AioContext *write_ctx, 875 AioContext *read_ctx, 877 AioContext *write_ctx,
|
H A D | channel-util.h | 68 AioContext *read_ctx, 71 AioContext *write_ctx,
|
/openbmc/qemu/include/sysemu/ |
H A D | block-backend-global-state.h | 25 BlockBackend *blk_new(AioContext *ctx, uint64_t perm, uint64_t shared_perm); 90 int blk_set_aio_context(BlockBackend *blk, AioContext *new_context, 93 void (*attached_aio_context)(AioContext *new_context, void *opaque), 96 void (*attached_aio_context)(AioContext *,
|
H A D | iothread.h | 28 AioContext *ctx; 49 AioContext *iothread_get_aio_context(IOThread *iothread);
|
/openbmc/qemu/io/ |
H A D | channel-util.c | 42 AioContext *read_ctx, in qio_channel_util_set_aio_fd_handler() 45 AioContext *write_ctx, in qio_channel_util_set_aio_fd_handler()
|
H A D | channel.c | 397 AioContext *read_ctx, in qio_channel_set_aio_fd_handler() 399 AioContext *write_ctx, in qio_channel_set_aio_fd_handler() 627 AioContext *ctx = ioc->follow_coroutine_ctx ? in qio_channel_set_fd_handlers() 630 AioContext *read_ctx = NULL; in qio_channel_set_fd_handlers() 632 AioContext *write_ctx = NULL; in qio_channel_set_fd_handlers() 673 AioContext *read_ctx = NULL; in qio_channel_clear_fd_handlers() 675 AioContext *write_ctx = NULL; in qio_channel_clear_fd_handlers() 677 AioContext *ctx; in qio_channel_clear_fd_handlers() 706 AioContext *ioc_ctx; in qio_channel_yield()
|
/openbmc/qemu/tests/unit/ |
H A D | test-block-iothread.c | 469 AioContext *ctx = iothread_get_aio_context(iothread); in test_sync_op() 552 AioContext *ctx = iothread_get_aio_context(iothread); in test_attach_blockjob() 615 AioContext *ctx = iothread_get_aio_context(iothread); in test_propagate_basic() 616 AioContext *main_ctx; in test_propagate_basic() 679 AioContext *ctx = iothread_get_aio_context(iothread); in test_propagate_diamond() 680 AioContext *main_ctx; in test_propagate_diamond() 744 AioContext *ctx = iothread_get_aio_context(iothread); in test_propagate_mirror() 745 AioContext *main_ctx = qemu_get_aio_context(); in test_propagate_mirror() 815 AioContext *ctx = iothread_get_aio_context(iothread); in test_attach_second_node() 816 AioContext *main_ctx = qemu_get_aio_context(); in test_attach_second_node() [all …]
|