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
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/virtualization