#
1af8b0b2 |
| 14-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: split multilines log messages
Prepare for RTE_LOG_LINE conversion.
Signed-off-by: David Marchand <david.marchand@redhat.com>
|
#
f665790a |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen
drivers: remove redundant newline from logs
Fix places where two newline characters may be logged.
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
71a98628 |
| 12-Jul-2024 |
Srujana Challa <schalla@marvell.com> |
net/virtio-user: fix CQ descriptor address for non-vDPA
This patch modifies the code to convert descriptor buffer IOVA addresses to virtual addresses only when use_va flag is false.
This patch fixe
net/virtio-user: fix CQ descriptor address for non-vDPA
This patch modifies the code to convert descriptor buffer IOVA addresses to virtual addresses only when use_va flag is false.
This patch fixes segmentation fault with vhost-user backend.
Fixes: cb5043cb0ca6 ("net/virtio-user: convert IOVA address to virtual")
Reported-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Srujana Challa <schalla@marvell.com>
show more ...
|
#
8b04c3e5 |
| 03-Jul-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: fix control queue allocation for non-vDPA
For non-vDPA backends, where the backend does not support control queue, it is still emulated in the Virtio-user layer to handle multiqueue
net/virtio-user: fix control queue allocation for non-vDPA
For non-vDPA backends, where the backend does not support control queue, it is still emulated in the Virtio-user layer to handle multiqueue feature. The frontend setups a control queue, which is hidden to the device. It means the number of vrings metadata to allocate should be based on the frontend features and not the device features.
This patch fixes out-of-range access reported by ASan, which could sometimes be noticed at exit time by a segmentation fault when disabled:
Fixes: b80947743f5e ("net/virtio-user: fix control queue allocation") Cc: stable@dpdk.org
Reported-by: David Marchand <david.marchand@redhat.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
666ef294 |
| 03-Jul-2024 |
Srujana Challa <schalla@marvell.com> |
net/virtio-user: share descriptor IOVA to backend
Add support to share descriptor IOVA to the vhost backend. This makes virtio_user driver works in IOVA as PA mode when use_va flag is disabled. This
net/virtio-user: share descriptor IOVA to backend
Add support to share descriptor IOVA to the vhost backend. This makes virtio_user driver works in IOVA as PA mode when use_va flag is disabled. This patch also disables use_va flag for VDPA backend.
Signed-off-by: Srujana Challa <schalla@marvell.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
cb5043cb |
| 03-Jul-2024 |
Srujana Challa <schalla@marvell.com> |
net/virtio-user: convert IOVA address to virtual
This patch modifies the code to convert descriptor buffer IOVA addresses to virtual addresses during the processing of shadow control queue when IOVA
net/virtio-user: convert IOVA address to virtual
This patch modifies the code to convert descriptor buffer IOVA addresses to virtual addresses during the processing of shadow control queue when IOVA mode is PA. This change enables Virtio-user to operate with IOVA as the descriptor buffer address.
Signed-off-by: Srujana Challa <schalla@marvell.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
b8094774 |
| 28-Mar-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: fix control queue allocation
It is possible to have the control queue without the device advertising VIRTIO_NET_F_MQ.
Rely on the VIRTIO_NET_F_CTRL_VQ feature being advertised inst
net/virtio-user: fix control queue allocation
It is possible to have the control queue without the device advertising VIRTIO_NET_F_MQ.
Rely on the VIRTIO_NET_F_CTRL_VQ feature being advertised instead.
Fixes: 6fdf32d1e318 ("net/virtio-user: remove max queues limitation") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
4de6c17a |
| 28-Mar-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: fix shadow control queue notification init
The Virtio-user control queue kick and call FDs were not uninitialized at device stop time.
This patch fixes this using the queues iterat
net/virtio-user: fix shadow control queue notification init
The Virtio-user control queue kick and call FDs were not uninitialized at device stop time.
This patch fixes this using the queues iterator helper for both initialization and uninitialization.
Fixes: 90966e8e5b67 ("net/virtio-user: send shadow virtqueue info to the backend") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
bffcdad5 |
| 28-Mar-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: fix control queue destruction
This patch uses the freshly renamed iterator to destroy queues at stop time. Doing this, we fix the missing control queue destruction.
Fixes: 90966e8e
net/virtio-user: fix control queue destruction
This patch uses the freshly renamed iterator to destroy queues at stop time. Doing this, we fix the missing control queue destruction.
Fixes: 90966e8e5b67 ("net/virtio-user: send shadow virtqueue info to the backend") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
0f5d532a |
| 28-Mar-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: rename queue iterator
This is a preliminary rework to prepare for iterating over queues for non-setup operations.
Also, remove the error log that does not provide much information
net/virtio-user: rename queue iterator
This is a preliminary rework to prepare for iterating over queues for non-setup operations.
Also, remove the error log that does not provide much information given the callbacks already provide one.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
735cc250 |
| 20-Feb-2024 |
Nithin Dabilpuram <ndabilpuram@marvell.com> |
net/virtio-user: add order platform flag to feature list
VIRTIO_F_ORDER_PLATFORM is needed feature when working with real HW platforms that are exposing virtio-net devices via VDPA framework. This f
net/virtio-user: add order platform flag to feature list
VIRTIO_F_ORDER_PLATFORM is needed feature when working with real HW platforms that are exposing virtio-net devices via VDPA framework. This feature helps in having more real ordering requirements between descriptor updates and notification data updates. Hence enable it if the device supports the feature.
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
show more ...
|
#
e12a0166 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microso
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
#
cd218549 |
| 13-Mar-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix notification area initialization
Notification area is a Virtio feature that requires to be negotiated because not all devices support it. Currently, it is tried to be initialized as
net/virtio: fix notification area initialization
Notification area is a Virtio feature that requires to be negotiated because not all devices support it. Currently, it is tried to be initialized as soon as the backend implements the callback, so it assumes all Vhost-vDPA devices support it.
This patch skips calling the notification area map callback if the device does not advertise its support.
Fixes: 0fd2782660c8 ("net/virtio-user: support notification area mapping")
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
58c89415 |
| 13-Mar-2024 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio: fix vDPA device init advertising control queue
If the vDPA device advertises control queue support, but the user neither passes "cq=1" as devarg nor requests multiple queues, the initial
net/virtio: fix vDPA device init advertising control queue
If the vDPA device advertises control queue support, but the user neither passes "cq=1" as devarg nor requests multiple queues, the initialization fails because the driver tries to setup the control queue without negotiating related feature.
This patch enables the control queue at driver level as soon as the device claims to support it, and not only when multiple queue pairs are requested. Also, enable the control queue event if multiqueue feature has not been negotiated and device start time, and disable it at device stop time.
Fixes: b277308e8868 ("net/virtio-user: advertise control VQ support with vDPA") Cc: stable@dpdk.org
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
dbce501e |
| 23-Jan-2024 |
Srujana Challa <schalla@marvell.com> |
net/virtio-user: support RSS
This patch introduces new function to get RSS device config and adds code to forward the RSS control command to backend through hw control queue if RSS feature is negoti
net/virtio-user: support RSS
This patch introduces new function to get RSS device config and adds code to forward the RSS control command to backend through hw control queue if RSS feature is negotiated. This patch will help to negotiate VIRTIO_NET_F_RSS feature if vhost-vdpa backend supports RSS in HW.
Signed-off-by: Srujana Challa <schalla@marvell.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
0fd27826 |
| 23-Jan-2024 |
Srujana Challa <schalla@marvell.com> |
net/virtio-user: support notification area mapping
This patch introduces new virtio-user callbacks to map the vq notification area and implements it for the vhost-vDPA backend. This is simply done b
net/virtio-user: support notification area mapping
This patch introduces new virtio-user callbacks to map the vq notification area and implements it for the vhost-vDPA backend. This is simply done by using mmap()/munmap() for the vhost-vDPA fd.
And also adds code to write to queue notify address in notify callback. This will help in increasing the kick performance.
Signed-off-by: Srujana Challa <schalla@marvell.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
c8254ef1 |
| 13-Apr-2023 |
David Marchand <david.marchand@redhat.com> |
net/virtio-user: fix leak when initialisation fails
Caught with ASan. If initialising a virtio_user port fails, we may leak the ifname passed via a devargs.
Fixes: 4214a1b493f2 ("net/virtio-user: s
net/virtio-user: fix leak when initialisation fails
Caught with ASan. If initialising a virtio_user port fails, we may leak the ifname passed via a devargs.
Fixes: 4214a1b493f2 ("net/virtio-user: support changing tap interface name") Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
#
f9eb7a4b |
| 02-Mar-2023 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
use atomic intrinsics closer to C11
Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch when we have no interest in the result of the operation.
This change reduc
use atomic intrinsics closer to C11
Use __atomic_fetch_{add,and,or,sub,xor} instead of __atomic_{add,and,or,sub,xor}_fetch when we have no interest in the result of the operation.
This change reduces unnecessary code that provided the result of the atomic operation while this result was not used.
It also brings us to a closer alignment with atomics available in C11 standard and will reduce review effort when they are integrated.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
be26e898 |
| 17-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: fix vhost-kernel initialization
This patch fixes a regression causing devices with Vhost-kernel backends initialization to fail.
Indeed, Vhost-kernel backend init expects dev->max_
net/virtio-user: fix vhost-kernel initialization
This patch fixes a regression causing devices with Vhost-kernel backends initialization to fail.
Indeed, Vhost-kernel backend init expects dev->max_queue_pairs to be set at setup time, while its assignment was moved after backend setup when adding control queue support for Vhost-vdpa backends.
It is safe to set dev->max_queue_pairs early for Vhost-kernel backends as if the backend does not support multiqueue, its setup will fail.
Bugzilla ID: 1161 Fixes: 7be724856315 ("net/virtio-user: get max number of queue pairs from device")
Reported-by: Wei Ling <weix.ling@intel.com> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
show more ...
|
#
6fdf32d1 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: remove max queues limitation
This patch removes the limitation of 8 queue pairs by dynamically allocating vring metadata once we know the maximum number of queue pairs supported by
net/virtio-user: remove max queues limitation
This patch removes the limitation of 8 queue pairs by dynamically allocating vring metadata once we know the maximum number of queue pairs supported by the backend.
This is especially useful for Vhost-vDPA with physical devices, where the maximum queues supported may be much more than 8 pairs.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
fcdb603a |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: forward control messages to shadow queue
This patch implements control messages forwarding from the regular control queue to the shadow control queue.
Signed-off-by: Maxime Coqueli
net/virtio-user: forward control messages to shadow queue
This patch implements control messages forwarding from the regular control queue to the shadow control queue.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Eugenio Pérez <eperezma@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
show more ...
|
#
9eb56fb2 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: add callback to enable control queue
This patch introduces a new callback that is to be called when the backend supports control virtqueue.
Implementation for Vhost-vDPA backend is
net/virtio-user: add callback to enable control queue
This patch introduces a new callback that is to be called when the backend supports control virtqueue.
Implementation for Vhost-vDPA backend is added in this patch.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Eugenio Pérez <eperezma@redhat.com>
show more ...
|
#
90966e8e |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: send shadow virtqueue info to the backend
This patch adds sending the shadow control queue info to the backend.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed
net/virtio-user: send shadow virtqueue info to the backend
This patch adds sending the shadow control queue info to the backend.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Eugenio Pérez <eperezma@redhat.com>
show more ...
|
#
66b45cea |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: allocate shadow control queue
If the backends supports control virtqueue, allocate a shadow control virtqueue, and implement the notify callback that writes into the kickfd.
Signed
net/virtio-user: allocate shadow control queue
If the backends supports control virtqueue, allocate a shadow control virtqueue, and implement the notify callback that writes into the kickfd.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Eugenio Pérez <eperezma@redhat.com>
show more ...
|
#
7be72485 |
| 09-Feb-2023 |
Maxime Coquelin <maxime.coquelin@redhat.com> |
net/virtio-user: get max number of queue pairs from device
When supported by the backend (only vDPA for now), this patch gets the maximum number of queue pairs supported by the device by querying it
net/virtio-user: get max number of queue pairs from device
When supported by the backend (only vDPA for now), this patch gets the maximum number of queue pairs supported by the device by querying it in its config space.
This is required for adding backend control queue support, as is index equals the maximum number of queues supported by the device as described by the Virtio specification.
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Eugenio Pérez <eperezma@redhat.com>
show more ...
|