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

Function vhost_shadow_dequeue_single_packed

dpdk/lib/vhost/virtio_net.c:532–562  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

530}
531
532static __rte_always_inline void
533vhost_shadow_dequeue_single_packed(struct vhost_virtqueue *vq,
534 uint16_t buf_id,
535 uint16_t count)
536{
537 uint16_t flags;
538
539 flags = vq->desc_packed[vq->last_used_idx].flags;
540 if (vq->used_wrap_counter) {
541 flags |= VRING_DESC_F_USED;
542 flags |= VRING_DESC_F_AVAIL;
543 } else {
544 flags &= ~VRING_DESC_F_USED;
545 flags &= ~VRING_DESC_F_AVAIL;
546 }
547
548 if (!vq->shadow_used_idx) {
549 vq->shadow_last_used_idx = vq->last_used_idx;
550
551 vq->shadow_used_packed[0].id = buf_id;
552 vq->shadow_used_packed[0].len = 0;
553 vq->shadow_used_packed[0].flags = flags;
554 vq->shadow_used_idx++;
555 } else {
556 vq->desc_packed[vq->last_used_idx].id = buf_id;
557 vq->desc_packed[vq->last_used_idx].len = 0;
558 vq->desc_packed[vq->last_used_idx].flags = flags;
559 }
560
561 vq_inc_last_used_packed(vq, count);
562}
563
564static __rte_always_inline void
565vhost_shadow_dequeue_single_packed_inorder(struct vhost_virtqueue *vq,

Callers 1

Calls 1

vq_inc_last_used_packedFunction · 0.85

Tested by

no test coverage detected