Lines Matching defs:vhost_virtqueue
123 struct vhost_virtqueue { struct
124 union {
128 union {
132 union {
136 uint32_t size;
138 uint16_t last_avail_idx;
139 uint16_t last_used_idx;
141 uint16_t signalled_used;
142 bool signalled_used_valid;
147 int backend;
148 int enabled;
149 int access_ok;
150 int ready;
151 int notif_enable;
154 rte_spinlock_t access_lock;
157 int callfd;
159 int kickfd;
162 uint64_t log_guest_addr;
165 union {
169 struct rte_vhost_resubmit_info *resubmit_inflight;
170 uint64_t global_counter;
172 union {
176 uint16_t shadow_used_idx;
178 uint16_t shadow_aligned_idx;
180 uint16_t shadow_last_used_idx;
181 struct vhost_vring_addr ring_addrs;
183 struct batch_copy_elem *batch_copy_elems;
184 uint16_t batch_copy_nb_elems;
185 bool used_wrap_counter;
186 bool avail_wrap_counter;
188 struct log_cache_entry log_cache[VHOST_LOG_CACHE_NR];
189 uint16_t log_cache_nb_elem;
191 rte_rwlock_t iotlb_lock;
192 rte_rwlock_t iotlb_pending_lock;
193 struct rte_mempool *iotlb_pool;
195 int iotlb_cache_nr;
199 struct rte_vhost_async_channel_ops async_ops;
201 struct rte_vhost_iov_iter *it_pool;
202 struct iovec *vec_pool;
205 uintptr_t **async_pkts_pending;
206 struct async_inflight_info *async_pkts_info;
207 uint16_t async_pkts_idx;
208 uint16_t async_pkts_inflight_n;
209 uint16_t async_last_pkts_n;
212 bool async_inorder;
213 bool async_registered;
214 uint16_t async_threshold;