mbox series

[0/5] vhost: introduce per-virtqueue stats API

Message ID 20220510201720.1262368-1-maxime.coquelin@redhat.com (mailing list archive)
Headers
Series vhost: introduce per-virtqueue stats API |

Message

Maxime Coquelin May 10, 2022, 8:17 p.m. UTC
  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(-)
  

Comments

Maxime Coquelin May 11, 2022, 7:24 a.m. UTC | #1
On 5/10/22 22:17, Maxime Coquelin wrote:
> 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(-)
> 

Sorry, I missed to set the subject prefix to v3.
  
Maxime Coquelin May 17, 2022, 1:23 p.m. UTC | #2
On 5/10/22 22:17, Maxime Coquelin wrote:
> 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(-)
> 

Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
  
Maxime Coquelin May 17, 2022, 1:33 p.m. UTC | #3
On 5/17/22 15:23, Maxime Coquelin wrote:
> 
> 
> On 5/10/22 22:17, Maxime Coquelin wrote:
>> 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(-)
>>


Applied to dpdk-next-virtio/main.

Thanks,
Maxime