[dpdk-dev] [PATCH v4 4/7] virtio: fill RX avail ring with blank mbufs
Tan, Jianfeng
jianfeng.tan at intel.com
Fri Oct 23 07:56:56 CEST 2015
On 10/23/2015 1:51 PM, Jianfeng wrote:
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei Xie
> Sent: Thursday, October 22, 2015 8:10 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v4 4/7] virtio: fill RX avail ring with blank mbufs
> +int __attribute__((cold))
> +virtqueue_enqueue_recv_refill_simple(struct virtqueue *vq,
> + struct rte_mbuf *cookie)
> +{
> + struct vq_desc_extra *dxp;
> + struct vring_desc *start_dp;
> + uint16_t desc_idx;
> +
> + desc_idx = vq->vq_avail_idx & (vq->vq_nentries - 1);
> + dxp = &vq->vq_descx[desc_idx];
> + dxp->cookie = (void *)cookie;
> + vq->sw_ring[desc_idx] = cookie;
> +
> + start_dp = vq->vq_ring.desc;
> + start_dp[desc_idx].addr = (uint64_t)((uintptr_t)cookie-
> >buf_physaddr +
> + RTE_PKTMBUF_HEADROOM - sizeof(struct virtio_net_hdr));
Please use RTE_MBUF_DATA_DMA_ADDR instead of "buf_physaddr + RTE_PKTMBUF_HEADROOM".
> + start_dp[desc_idx].len = cookie->buf_len -
> + RTE_PKTMBUF_HEADROOM + sizeof(struct virtio_net_hdr);
> +
> + vq->vq_free_cnt--;
> + vq->vq_avail_idx++;
> +
> + return 0;
> +}
> --
> 1.8.1.4
More information about the dev
mailing list