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 is a fix that should be considered even if the series does not make it in v22.03. Second patch introduces the new API and generic statistics. Patch 3 makes use of this API in Vhost PMD. The two last patches introduce more specific counters (syscalls in DP, IOTLB cache hits and misses). I understand we are late in the v22.03 release cycle, and so the series may be postponned to next release even though it does not introduces much risks of regressions. At least patch 1 has to be considered for this release. Changes in v2: ============= - Rebased on top of v22.03 - Add documentation Maxime Coquelin (5): vhost: fix missing virtqueue lock protection 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 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 | 5 + lib/vhost/vhost.c | 124 +++++++++- lib/vhost/vhost.h | 26 ++- lib/vhost/virtio_net.c | 53 +++++ 8 files changed, 450 insertions(+), 233 deletions(-) -- 2.35.1