Hi Dor,

How are you measuring performance? The numbers I've gotten with netperf before and after your patch are:

tx - 647.27mbit
rx - 89.22

tx - 27.82
rx - 79.93

So this patch is pretty much killing performance for netperf.

Dor Laor wrote:
There was a problem with the location of the notify call in
add_buff function:
When VRING_USED_F_NO_NOTIFY is set, the host does not kick the
guest when packets were transmitted, as a result the guest runs
out of tx buffers sometimes.

But even if F_NO_NOTIFY is set, if the tx buffer is full, we notify the guest, so this prevents that from happening.

 This is fine but the problem lies
when add_buf fails, it called notify and the host sends all the
pending tx pkts. When enable_cb was called, more_used(vq) returned
false so eventually the skb was dropped.

I'm having a tough time following this part. If add_buf fails, we notify unconditionally (which is, I think what we want). I'm not sure how that relates to a packet getting dropped though.

Regards,

Anthony Liguori


_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to