On 2019/7/18 下午9:04, Michael S. Tsirkin wrote:
On Thu, Jul 18, 2019 at 12:55:50PM +0000, ? jiang wrote:This change makes ring buffer reclaim threshold num_free configurable for better performance, while it's hard coded as 1/2 * queue now. According to our test with qemu + dpdk, packet dropping happens when the guest is not able to provide free buffer in avail ring timely. Smaller value of num_free does decrease the number of packet dropping during our test as it makes virtio_net reclaim buffer earlier. At least, we should leave the value changeable to user while the default value as 1/2 * queue is kept. Signed-off-by: jiangkidd<jiangkidd@xxxxxxxxxxx>That would be one reason, but I suspect it's not the true one. If you need more buffer due to jitter then just increase the queue size. Would be cleaner. However are you sure this is the reason for packet drops? Do you see them dropped by dpdk due to lack of space in the ring? As opposed to by guest?
Besides those, this patch depends on the user to choose a suitable threshold which is not good. You need either a good value with demonstrated numbers or something smarter.
Thanks