[dpdk-dev] Bug in virtqueue_dequeue_burst_rx()
Gopakumar Choorakkot Edakkunni
gopakumar.c.e at gmail.com
Tue Dec 20 06:59:33 CET 2016
While I was testing virtio with ubuntu 14.04 kvm as host and dpdk16.07
linux as guest, quite often I have seen that I get into a situation where
virtio_recv_mergeable_pkts() gets into a forever loop, after sending
traffic for a while. In the below API, I see that it clearly leads to a
while loop, I am not quite familiar with virtio or mergeable buffers, so
thought of checking with dpdk alias on the intent here.
I checked the linux kernel virtio_net.c file which does the similar
mergeable recieve, and the kernel code breaks out in case of error.
Shouldnt dpdk be breaking out of here on error instead of continue ?
virtio_recv_mergeable_pkts()
{
<snip>
while (i < nb_used) {
<snip>
* num = virtqueue_dequeue_burst_rx(rxvq, rcv_pkts, len, 1);*
* if (num != 1)*
* continue;*
<snip>
}
<snip?
}
Rgds,
Gopa.
More information about the dev
mailing list