Home
last modified time | relevance | path

Searched refs:AioContext (Results 1 – 25 of 120) sorted by relevance

12345

/openbmc/qemu/include/block/
H A Daio.h62 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 Draw-aio.h64 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 Daio-wait.h81 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 Dthrottle-groups.h37 AioContext *aio_context;
75 AioContext *ctx);
83 AioContext *new_context);
H A Dthread-pool.h29 ThreadPool *thread_pool_new(struct AioContext *ctx);
41 void thread_pool_update_params(ThreadPool *pool, struct AioContext *ctx);
/openbmc/qemu/util/
H A Dasync.c63 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 Daio-posix.h50 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 Daio-posix.c31 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 Dfdmon-io_uring.c80 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 Daio-win32.c39 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 Dfdmon-epoll.c15 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 Dthread-pool.c57 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 Dmultiple-iothreads.rst54 ``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 Dvhost-user-server.h39 AioContext *ctx;
59 AioContext *ctx,
70 void vhost_user_server_attach_aio_context(VuServer *server, AioContext *ctx);
H A Dcoroutine-core.h93 void qemu_aio_coroutine_enter(AioContext *ctx, Coroutine *co);
106 AioContext *qemu_coroutine_get_aio_context(Coroutine *co);
/openbmc/qemu/stubs/
H A Dgraph-lock.c4 void register_aiocontext(AioContext *ctx) in register_aiocontext()
8 void unregister_aiocontext(AioContext *ctx) in unregister_aiocontext()
H A Dio_uring.c14 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 Dlinux-aio.c14 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 Dchannel.h85 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 Dchannel-util.h68 AioContext *read_ctx,
71 AioContext *write_ctx,
/openbmc/qemu/include/sysemu/
H A Dblock-backend-global-state.h25 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 Diothread.h28 AioContext *ctx;
49 AioContext *iothread_get_aio_context(IOThread *iothread);
/openbmc/qemu/io/
H A Dchannel-util.c42 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 Dchannel.c397 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 Dtest-block-iothread.c469 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 …]

12345