| Bug ID | 1716 |
|---|---|
| Summary | virtio_xmit_cleanup failed when vm rx/tx queues from 1024 to 4096 |
| Product | DPDK |
| Version | 22.11 |
| Hardware | Other |
| OS | All |
| Status | UNCONFIRMED |
| Severity | major |
| Priority | Normal |
| Component | ethdev |
| Assignee | dev@dpdk.org |
| Reporter | updoing@sina.com |
| Target Milestone | --- |
Created attachment 319 [details] viritio patch In a virtual machine scenario running a DPDK application with virtio drivers, when the host machine adjusted the guest VM's transmit/receive queue size from 1024 to 4096, the DPDK application's allocated 2048 mbufs became insufficient. After this adjustment, the condition vq->vq_nentries - vq->vq_free_thresh was never triggered, resulting in the cleanup operation not occurring. virtio_dev_rx_queue_setup the third param nb_desc is not used when vq->vq_free_cnt great then nb_desc. vq->vq_free_cnt is assigned a value through vq->n_nentries when virtio driver has inited. i40e driver vq has a nb_rx_desc value, our dpdk app nb_desc setup 2048, malloc 2048 mbufs, so our dpdk app rx/tx burst is failed on the line.