This series introduces a new Vhost API that provides per-virtqueue statistics to the application. It will be generally useful, but initial motivation for this series was to be able to get to get virtqueues stats when Virtio RSS feature will be supported in Vhost library.
First patch introduces the new API and generic statistics. Patch 2 makes use of this API in Vhost PMD. The 3 last patches introduce more specific counters (syscalls in DP, IOTLB cache hits and misses, inflight submitted and completed for vhost async). Changes in v3: ============== - Remove patch1, already applied - Fix memory leaks in error path (Chenbo) - Fix various typos (Chenbo) - Removed unused IOTLB counter (Chenbo) - Add generic packets stats in async enqueue path - Add Vhost async specific counters Changes in v2: ============= - Rebased on top of v22.03 - Add documentation Maxime Coquelin (5): vhost: add per-virtqueue statistics support net/vhost: move to Vhost library stats API vhost: add statistics for guest notifications vhost: add statistics for IOTLB vhost: add statistics for in-flight packets doc/guides/prog_guide/vhost_lib.rst | 24 ++ drivers/net/vhost/rte_eth_vhost.c | 348 ++++++++++------------------ lib/vhost/rte_vhost.h | 99 ++++++++ lib/vhost/socket.c | 4 +- lib/vhost/version.map | 4 +- lib/vhost/vhost.c | 125 +++++++++- lib/vhost/vhost.h | 27 ++- lib/vhost/virtio_net.c | 61 +++++ 8 files changed, 460 insertions(+), 232 deletions(-) -- 2.35.1