Bug 2119809

Summary: mlx Fixes for vDPA control virtqueue
Product: Red Hat Enterprise Linux 9 Reporter: Eugenio Pérez Martín <eperezma>
Component: kernelAssignee: Eugenio Pérez Martín <eperezma>
kernel sub component: Virtualization QA Contact: Lei Yang <leiyang>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: aadam, chayang, coli, eperezma, hkrzesin, jasowang, jiji, jinzhao, juzhang, kzhang, leiyang, lvivier, ptalbert
Version: unspecifiedKeywords: FutureFeature, Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-5.14.0-163.el9 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 1939367 Environment:
Last Closed: 2023-05-09 08:00:16 UTC Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1939367, 2116876    
Bug Blocks:    

Description Eugenio Pérez Martín 2022-08-19 13:09:12 UTC
MLX driver fixes pending after bz #1939367, that enable total live migration if the device is running all the time with shadow virtqueue enabled:

commit ace9252446ec615cd79a5f77d90edb25c0b9d024
Author: Eli Cohen <elic>
Date:   Mon Jun 13 10:59:58 2022 +0300

    vdpa/mlx5: Initialize CVQ vringh only once
    
    Currently, CVQ vringh is initialized inside setup_virtqueues() which is
    called every time a memory update is done. This is undesirable since it
    resets all the context of the vring, including the available and used
    indices.
    
    Move the initialization to mlx5_vdpa_set_status() when
    VIRTIO_CONFIG_S_DRIVER_OK is set.
    
    Signed-off-by: Eli Cohen <elic>
    Message-Id: <20220613075958.511064-2-elic>
    Signed-off-by: Michael S. Tsirkin <mst>
    Acked-by: Jason Wang <jasowang>
    Acked-by: Eugenio Pérez <eperezma>

commit 40f2f3e94178d45e4ee6078effba2dfc76f6f5ba
Author: Eli Cohen <elic>
Date:   Mon Jun 13 10:59:57 2022 +0300

    vdpa/mlx5: Update Control VQ callback information
    
    The control VQ specific information is stored in the dedicated struct
    mlx5_control_vq. When the callback is updated through
    mlx5_vdpa_set_vq_cb(), make sure to update the control VQ struct.
    
    Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
    Signed-off-by: Eli Cohen <elic>
    Message-Id: <20220613075958.511064-1-elic>
    Signed-off-by: Michael S. Tsirkin <mst>
    Acked-by: Jason Wang <jasowang)

Comment 20 errata-xmlrpc 2023-05-09 08:00:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Important: kernel security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2023:2458