From: Willem de Bruijn <will...@google.com> Add zerocopy transfer statistics to the vhost_net/tun zerocopy path.
I've been using this to verify recent changes to zerocopy tuning [1]. Sharing more widely, as it may be useful in similar future work. Use ethtool stats as interface, as these are defined per device driver and can easily be extended. Make the zerocopy release callback take an extra hop through the tun driver to allow the driver to increment its counters. Care must be taken to avoid adding an alloc/free to this hot path. Since the caller already must allocate a ubuf_info, make it allocate two at a time and grant one to the tun device. 1/3: introduce ethtool stats (`ethtool -S $DEV`) for tun devices 2/3: add zerocopy tx and tx_err counters 3/3: convert vhost_net to pass a pair of ubuf_info to tun [1] http://patchwork.ozlabs.org/patch/822613/ Willem de Bruijn (3): tun: ethtool stats tun: expand ethtool stats with zerocopy vhost_net: support tun zerocopy stats drivers/net/tun.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++---- drivers/vhost/net.c | 7 ++-- 2 files changed, 108 insertions(+), 10 deletions(-) -- 2.14.2.920.gcf0c67979c-goog