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.