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

Function vhost_shadow_enqueue_packed

dpdk/lib/vhost/virtio_net.c:592–612  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

590}
591
592static __rte_always_inline void
593vhost_shadow_enqueue_packed(struct vhost_virtqueue *vq,
594 uint32_t *len,
595 uint16_t *id,
596 uint16_t *count,
597 uint16_t num_buffers)
598{
599 uint16_t i;
600
601 for (i = 0; i < num_buffers; i++) {
602 /* enqueue shadow flush action aligned with batch num */
603 if (!vq->shadow_used_idx)
604 vq->shadow_aligned_idx = vq->last_used_idx &
605 PACKED_BATCH_MASK;
606 vq->shadow_used_packed[vq->shadow_used_idx].id = id[i];
607 vq->shadow_used_packed[vq->shadow_used_idx].len = len[i];
608 vq->shadow_used_packed[vq->shadow_used_idx].count = count[i];
609 vq->shadow_aligned_idx += count[i];
610 vq->shadow_used_idx++;
611 }
612}
613
614static __rte_always_inline void
615vhost_async_shadow_enqueue_packed(struct vhost_virtqueue *vq,

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected