MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vhost_flush_dequeue_shadow_packed

Function vhost_flush_dequeue_shadow_packed

dpdk/lib/vhost/virtio_net.c:382–399  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

380}
381
382static __rte_always_inline void
383vhost_flush_dequeue_shadow_packed(struct virtio_net *dev,
384 struct vhost_virtqueue *vq)
385{
386 struct vring_used_elem_packed *used_elem = &vq->shadow_used_packed[0];
387
388 vq->desc_packed[vq->shadow_last_used_idx].id = used_elem->id;
389 /* desc flags is the synchronization point for virtio packed vring */
390 rte_atomic_store_explicit(
391 (unsigned short __rte_atomic *)&vq->desc_packed[vq->shadow_last_used_idx].flags,
392 used_elem->flags, rte_memory_order_release);
393
394 vhost_log_cache_used_vring(dev, vq, vq->shadow_last_used_idx *
395 sizeof(struct vring_packed_desc),
396 sizeof(struct vring_packed_desc));
397 vq->shadow_used_idx = 0;
398 vhost_log_cache_sync(dev, vq);
399}
400
401static __rte_always_inline void
402vhost_flush_enqueue_batch_packed(struct virtio_net *dev,

Callers 1

virtio_dev_tx_packedFunction · 0.85

Calls 2

vhost_log_cache_syncFunction · 0.85

Tested by

no test coverage detected