OK, here's a new attempt to use the new capacity api. I also added more comments to clarify the logic. Hope this is more readable. Let me know pls. This is on top of the patches applied by Rusty. Note: there are now actually 2 calls to fee_old_xmit_skbs on data path so instead of passing flag '2' to the second one I thought we can just make each call free up at least 1 skb. This will work and even might be a bit faster (less branches), but in the end I discarded this idea as too fragile (relies on two calls on data path to function properly). Warning: untested. Posting now to give people chance to comment on the API. Michael S. Tsirkin (3): virtio_ring: add capacity check API virtio_net: fix tx capacity checks using new API virtio_net: limit xmit polling drivers/net/virtio_net.c | 65 +++++++++++++++++++++++------------------ drivers/virtio/virtio_ring.c | 8 +++++ include/linux/virtio.h | 5 +++ 3 files changed, 49 insertions(+), 29 deletions(-) -- 1.7.5.53.gc233e -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html