Lines Matching defs:group_impl
820 if (sock->base.group_impl && spdk_pipe_reader_bytes_available(sock->recv_pipe) == 0) {
821 group = __uring_group_impl(sock->base.group_impl);
853 if (sock->base.group_impl && !sock->pending_recv) {
854 group = __uring_group_impl(sock->base.group_impl);
881 group = __uring_group_impl(_sock->group_impl);
926 if (_sock->group_impl == NULL) {
938 TAILQ_REMOVE(&(__uring_group_impl(_sock->group_impl))->pending_recv, sock, link);
980 group = __uring_group_impl(_sock->group_impl);
1651 uring_sock_group_impl_buf_pool_free(struct spdk_uring_sock_group_impl *group_impl)
1653 if (group_impl->buf_ring) {
1654 io_uring_unregister_buf_ring(&group_impl->uring, URING_BUF_GROUP_ID);
1655 free(group_impl->buf_ring);
1658 free(group_impl->trackers);
1664 uring_sock_group_impl_buf_pool_alloc(struct spdk_uring_sock_group_impl *group_impl)
1680 rc = io_uring_register_buf_ring(&group_impl->uring, &buf_reg, 0);
1686 group_impl->buf_ring = buf_ring;
1687 io_uring_buf_ring_init(group_impl->buf_ring);
1688 group_impl->buf_ring_count = 0;
1690 group_impl->trackers = calloc(URING_BUF_POOL_SIZE, sizeof(struct spdk_uring_buf_tracker));
1691 if (group_impl->trackers == NULL) {
1692 uring_sock_group_impl_buf_pool_free(group_impl);
1696 STAILQ_INIT(&group_impl->free_trackers);
1699 struct spdk_uring_buf_tracker *tracker = &group_impl->trackers[i];
1706 STAILQ_INSERT_TAIL(&group_impl->free_trackers, tracker, link);
1715 struct spdk_uring_sock_group_impl *group_impl;
1717 group_impl = calloc(1, sizeof(*group_impl));
1718 if (group_impl == NULL) {
1719 SPDK_ERRLOG("group_impl allocation failed\n");
1723 group_impl->io_avail = SPDK_SOCK_GROUP_QUEUE_DEPTH;
1725 if (io_uring_queue_init(SPDK_SOCK_GROUP_QUEUE_DEPTH, &group_impl->uring, 0) < 0) {
1727 free(group_impl);
1731 TAILQ_INIT(&group_impl->pending_recv);
1733 if (uring_sock_group_impl_buf_pool_alloc(group_impl) < 0) {
1736 io_uring_queue_exit(&group_impl->uring);
1737 free(group_impl);
1742 spdk_sock_map_insert(&g_map, spdk_env_get_current_core(), &group_impl->base);
1745 return &group_impl->base;