[PATCH v3 0/4] vhost: add device op to offload the interrupt kick

Maxime Coquelin maxime.coquelin at redhat.com
Thu Jun 1 22:00:11 CEST 2023



On 5/17/23 11:08, Eelco Chaudron wrote:
> This series adds an operation callback which gets called every time the
> library wants to call eventfd_write(). This eventfd_write() call could
> result in a system call, which could potentially block the PMD thread.
> 
> The callback function can decide whether it's ok to handle the
> eventfd_write() now or have the newly introduced function,
> rte_vhost_notify_guest(), called at a later time.
> 
> This can be used by 3rd party applications, like OVS, to avoid system
> calls being called as part of the PMD threads.
> 
> v3:
>      - Changed ABI compatibility code to no longer use a boolean
>        to avoid having to disable specific GCC warnings.
>      - Moved the fd check fix to a separate patch (patch 3/4).
>      - Fixed some coding style issues.
> 
> v2: - Used vhost_virtqueue->index to find index for operation.
>      - Aligned function name to VDUSE RFC patchset.
>      - Added error and offload statistics counter.
>      - Mark new API as experimental.
>      - Change the virtual queue spin lock to read/write spin lock.
>      - Made shared counters atomic.
>      - Add versioned rte_vhost_driver_callback_register() for
>        ABI compliance.
> 
> Eelco Chaudron (4):
>        vhost: change vhost_virtqueue access lock to a read/write one
>        vhost: make the guest_notifications statistic counter atomic
>        vhost: fix invalid call FD handling
>        vhost: add device op to offload the interrupt kick
> 
> 
>   lib/eal/include/generic/rte_rwlock.h | 17 +++++
>   lib/vhost/meson.build                |  2 +
>   lib/vhost/rte_vhost.h                | 23 ++++++-
>   lib/vhost/socket.c                   | 63 +++++++++++++++++--
>   lib/vhost/version.map                |  9 +++
>   lib/vhost/vhost.c                    | 92 +++++++++++++++++++++-------
>   lib/vhost/vhost.h                    | 69 ++++++++++++++-------
>   lib/vhost/vhost_user.c               | 14 ++---
>   lib/vhost/virtio_net.c               | 90 +++++++++++++--------------
>   9 files changed, 278 insertions(+), 101 deletions(-)
> 


Applied to dpdk-next-virtio/main.

Thanks,
Maxime



More information about the dev mailing list