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

Eelco Chaudron echaudro at redhat.com
Fri Jun 2 08:20:46 CEST 2023



On 1 Jun 2023, at 22:00, Maxime Coquelin wrote:

> 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!

//Eelco



More information about the dev mailing list