Home
last modified time | relevance | path

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

12345

/qemu/include/block/
H A Daio.h61 bool aio_poll_disabled(AioContext *ctx);
107 bool (*need_wait)(AioContext *ctx);
125 struct AioContext { struct
271 void aio_context_ref(AioContext *ctx);
279 void aio_context_unref(AioContext *ctx);
346 void aio_notify(AioContext *ctx);
364 void aio_notify_accept(AioContext *ctx);
378 int aio_bh_poll(AioContext *ctx);
425 bool aio_prepare(AioContext *ctx);
432 bool aio_pending(AioContext *ctx);
[all …]
H A Draw-aio.h63 void laio_detach_aio_context(LinuxAioState *s, AioContext *old_context);
64 void laio_attach_aio_context(LinuxAioState *s, AioContext *new_context);
74 void luring_detach_aio_context(LuringState *s, AioContext *old_context);
75 void luring_attach_aio_context(LuringState *s, AioContext *new_context);
88 AioContext *old_context);
90 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);
/qemu/util/
H A Dasync.c62 AioContext *ctx;
304 AioContext *ctx = (AioContext *) source; in aio_ctx_prepare()
328 AioContext *ctx = (AioContext *) source; in aio_ctx_check()
357 AioContext *ctx = (AioContext *) source; in aio_ctx_dispatch()
367 AioContext *ctx = (AioContext *) source; in aio_ctx_finalize()
525 AioContext *ctx = container_of(e, AioContext, notifier); in aio_context_notifier_cb()
534 AioContext *ctx = container_of(e, AioContext, notifier); in aio_context_notifier_poll()
577 AioContext *ctx; in aio_context_new()
579 ctx = (AioContext *) g_source_new(&aio_source_funcs, sizeof(AioContext)); in aio_context_new()
657 AioContext *new_ctx;
[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.c30 bool aio_poll_disabled(AioContext *ctx) in aio_poll_disabled()
100 void aio_set_fd_handler(AioContext *ctx, in aio_set_fd_handler()
195 void aio_set_event_notifier(AioContext *ctx, in aio_set_event_notifier()
206 void aio_set_event_notifier_poll(AioContext *ctx, in aio_set_event_notifier_poll()
258 bool aio_prepare(AioContext *ctx) in aio_prepare()
269 bool aio_pending(AioContext *ctx) in aio_pending()
420 void aio_dispatch(AioContext *ctx) in aio_dispatch()
602 bool aio_poll(AioContext *ctx, bool blocking) in aio_poll()
734 void aio_context_setup(AioContext *ctx) in aio_context_setup()
747 void aio_context_destroy(AioContext *ctx) in aio_context_destroy()
[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()
298 static bool fdmon_io_uring_need_wait(AioContext *ctx) in fdmon_io_uring_need_wait()
324 bool fdmon_io_uring_setup(AioContext *ctx) in fdmon_io_uring_setup()
[all …]
H A Daio-win32.c38 static void aio_remove_fd_handler(AioContext *ctx, AioHandler *node) in aio_remove_fd_handler()
64 void aio_set_fd_handler(AioContext *ctx, in aio_set_fd_handler()
133 void aio_set_event_notifier(AioContext *ctx, in aio_set_event_notifier()
172 void aio_set_event_notifier_poll(AioContext *ctx, in aio_set_event_notifier_poll()
180 bool aio_prepare(AioContext *ctx) in aio_prepare()
224 bool aio_pending(AioContext *ctx) in aio_pending()
313 void aio_dispatch(AioContext *ctx) in aio_dispatch()
322 bool aio_poll(AioContext *ctx, bool blocking) in aio_poll()
421 void aio_context_setup(AioContext *ctx) in aio_context_setup()
425 void aio_context_destroy(AioContext *ctx) in aio_context_destroy()
[all …]
H A Dfdmon-epoll.c14 void fdmon_epoll_disable(AioContext *ctx) in fdmon_epoll_disable()
33 static void fdmon_epoll_update(AioContext *ctx, in fdmon_epoll_update()
56 static int fdmon_epoll_wait(AioContext *ctx, AioHandlerList *ready_list, in fdmon_epoll_wait()
101 static bool fdmon_epoll_try_enable(AioContext *ctx) in fdmon_epoll_try_enable()
123 bool fdmon_epoll_try_upgrade(AioContext *ctx, unsigned npfd) in fdmon_epoll_try_upgrade()
150 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()
/qemu/docs/devel/
H A Dmultiple-iothreads.txt48 IOThread is dealing explicitly with the event loop object, AioContext
50 implicitly uses the main loop's AioContext. Code that supports running
51 in IOThreads must be aware of its AioContext.
53 AioContext supports the following services:
59 There are several old APIs that use the main loop AioContext:
71 Instead, use the AioContext functions directly (see include/block/aio.h):
84 The AioContext can be obtained from the IOThread using
87 loop, depending on which AioContext instance the caller passes in.
104 AioContext and the block layer
126 the BlockDriverState's AioContext. The functions
[all …]
/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);
/qemu/include/io/
H A Dchannel.h85 AioContext *read_ctx;
87 AioContext *write_ctx;
156 AioContext *read_ctx,
158 AioContext *write_ctx,
872 AioContext *read_ctx,
874 AioContext *write_ctx,
H A Dchannel-util.h68 AioContext *read_ctx,
71 AioContext *write_ctx,
/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()
/qemu/include/sysemu/
H A Dblock-backend-global-state.h25 BlockBackend *blk_new(AioContext *ctx, uint64_t perm, uint64_t shared_perm);
97 int blk_set_aio_context(BlockBackend *blk, AioContext *new_context,
100 void (*attached_aio_context)(AioContext *new_context, void *opaque),
103 void (*attached_aio_context)(AioContext *,
H A Diothread.h28 AioContext *ctx;
49 AioContext *iothread_get_aio_context(IOThread *iothread);
/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 …]
/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()
614 AioContext *ctx = ioc->follow_coroutine_ctx ? in qio_channel_set_fd_handlers()
617 AioContext *read_ctx = NULL; in qio_channel_set_fd_handlers()
619 AioContext *write_ctx = NULL; in qio_channel_set_fd_handlers()
660 AioContext *read_ctx = NULL; in qio_channel_clear_fd_handlers()
662 AioContext *write_ctx = NULL; in qio_channel_clear_fd_handlers()
664 AioContext *ctx; in qio_channel_clear_fd_handlers()
693 AioContext *ioc_ctx; in qio_channel_yield()

12345