Lines Matching full:node

102 static void enqueue(AioHandlerSList *head, AioHandler *node, unsigned flags)  in enqueue()  argument
106 old_flags = qatomic_fetch_or(&node->flags, FDMON_IO_URING_PENDING | flags); in enqueue()
108 QSLIST_INSERT_HEAD_ATOMIC(head, node, node_submitted); in enqueue()
115 AioHandler *node = QSLIST_FIRST(head); in dequeue() local
117 if (!node) { in dequeue()
130 *flags = qatomic_fetch_and(&node->flags, ~(FDMON_IO_URING_PENDING | in dequeue()
132 return node; in dequeue()
169 static void add_poll_add_sqe(AioContext *ctx, AioHandler *node) in add_poll_add_sqe() argument
172 int events = poll_events_from_pfd(node->pfd.events); in add_poll_add_sqe()
174 io_uring_prep_poll_add(sqe, node->pfd.fd, events); in add_poll_add_sqe()
175 io_uring_sqe_set_data(sqe, node); in add_poll_add_sqe()
178 static void add_poll_remove_sqe(AioContext *ctx, AioHandler *node) in add_poll_remove_sqe() argument
183 io_uring_prep_poll_remove(sqe, (uintptr_t)node); in add_poll_remove_sqe()
185 io_uring_prep_poll_remove(sqe, node); in add_poll_remove_sqe()
208 AioHandler *node; in fill_sq_ring() local
213 while ((node = dequeue(&submit_list, &flags))) { in fill_sq_ring()
216 add_poll_add_sqe(ctx, node); in fill_sq_ring()
219 add_poll_remove_sqe(ctx, node); in fill_sq_ring()
229 AioHandler *node = io_uring_cqe_get_data(cqe); in process_cqe() local
233 if (!node) { in process_cqe()
242 flags = qatomic_fetch_and(&node->flags, ~FDMON_IO_URING_REMOVE); in process_cqe()
244 QLIST_INSERT_HEAD_RCU(&ctx->deleted_aio_handlers, node, node_deleted); in process_cqe()
248 aio_add_ready_handler(ready_list, node, pfd_events_from_poll(cqe->res)); in process_cqe()
251 add_poll_add_sqe(ctx, node); in process_cqe()
341 AioHandler *node; in fdmon_io_uring_destroy() local
346 while ((node = QSLIST_FIRST_RCU(&ctx->submit_list))) { in fdmon_io_uring_destroy()
347 unsigned flags = qatomic_fetch_and(&node->flags, in fdmon_io_uring_destroy()
353 QLIST_INSERT_HEAD_RCU(&ctx->deleted_aio_handlers, node, node_deleted); in fdmon_io_uring_destroy()