public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Yishai Hadas <yishaih@nvidia.com>
To: Alex Williamson <alex.williamson@redhat.com>,
	Jason Gunthorpe <jgg@nvidia.com>
Cc: Xin Zeng <xin.zeng@intel.com>, <herbert@gondor.apana.org.au>,
	<shameerali.kolothum.thodi@huawei.com>, <kevin.tian@intel.com>,
	<linux-crypto@vger.kernel.org>, <kvm@vger.kernel.org>,
	<qat-linux@intel.com>, Yahui Cao <yahui.cao@intel.com>
Subject: Re: [PATCH v3 10/10] vfio/qat: Add vfio_pci driver for Intel QAT VF devices
Date: Thu, 29 Feb 2024 14:36:14 +0200	[thread overview]
Message-ID: <0c23d2c9-6c1e-4887-ab95-ca74f0dcb844@nvidia.com> (raw)
In-Reply-To: <20240228120706.715bc385.alex.williamson@redhat.com>

On 28/02/2024 21:07, Alex Williamson wrote:
> On Mon, 26 Feb 2024 15:24:58 -0700
> Alex Williamson <alex.williamson@redhat.com> wrote:
> 
>> On Mon, 26 Feb 2024 15:49:52 -0400
>> Jason Gunthorpe <jgg@nvidia.com> wrote:
>>
>>> On Mon, Feb 26, 2024 at 12:41:07PM -0700, Alex Williamson wrote:
>>>> On Mon, 26 Feb 2024 15:12:20 -0400
>>>> libvirt recently implemented support for managed="yes" with variant
>>>> drivers where it will find the best "vfio_pci" driver for a device
>>>> using an algorithm like Max suggested, but in practice it's not clear
>>>> how useful that will be considering devices likes CX7 require
>>>> configuration before binding to the variant driver.  libvirt has no
>>>> hooks to specify or perform configuration at that point.
>>>
>>> I don't think this is fully accurate (or at least not what was
>>> intended), the VFIO device can be configured any time up until the VM
>>> mlx5 driver reaches the device startup.
>>>
>>> Is something preventing this? Did we accidentally cache the migratable
>>> flag in vfio or something??
>>
>> I don't think so, I think this was just the policy we had decided
>> relative to profiling VFs when they're created rather than providing a
>> means to do it though a common vfio variant driver interface[1].
> 
> Turns out that yes, migration support needs to be established at probe
> time.  vfio_pci_core_register_device() expects migration_flags,
> mig_ops, and log_ops to all be established by this point, which for
> mlx5-vfio-pci occurs when the .init function calls
> mlx5vf_cmd_set_migratable().
> 
> So the VF does indeed need to be "profiled" to enabled migration prior
> to binding to the mlx5-vfio-pci driver in order to report support.
> 

Right, the 'profiling' of the VF in mlx5 case, need to be done prior to 
its probing/binding.

This is achieved today by running 'devlink <xxx> migratable enable' post 
of creating the VF.

> That also makes me wonder what happens if migration support is disabled
> via devlink after binding the VF to mlx5-vfio-pci.  Arguably this could
> be considered user error,

Yes, this is a clear user error.

  but what's the failure mode and support
> implication?  Thanks,
> 

The user will simply get an error from the firmware, the kernel and 
other stuff around will stay safe.

Further details:
In the source side, once the VM will be started the 'disable' itself 
will fail as that configuration can't be changed once the VF is 
running/active already.

In the target, as it's in a pending mode, the 'disable' will succeed. 
However, the migration will just fail later on in the firmware upon 
running a migration related command, as expected.

Yishai

  reply	other threads:[~2024-02-29 12:36 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-21 15:49 [PATCH v3 00/10] crypto: qat - enable QAT GEN4 SRIOV VF live migration for QAT GEN4 Xin Zeng
2024-02-21 15:49 ` [PATCH v3 01/10] crypto: qat - adf_get_etr_base() helper Xin Zeng
2024-02-21 15:50 ` [PATCH v3 02/10] crypto: qat - relocate and rename 4xxx PF2VM definitions Xin Zeng
2024-02-21 15:50 ` [PATCH v3 03/10] crypto: qat - move PFVF compat checker to a function Xin Zeng
2024-02-21 15:50 ` [PATCH v3 04/10] crypto: qat - relocate CSR access code Xin Zeng
2024-02-21 15:50 ` [PATCH v3 05/10] crypto: qat - rename get_sla_arr_of_type() Xin Zeng
2024-02-21 15:50 ` [PATCH v3 06/10] crypto: qat - expand CSR operations for QAT GEN4 devices Xin Zeng
2024-02-21 15:50 ` [PATCH v3 07/10] crypto: qat - add bank save and restore flows Xin Zeng
2024-02-21 15:50 ` [PATCH v3 08/10] crypto: qat - add interface for live migration Xin Zeng
2024-02-21 15:50 ` [PATCH v3 09/10] crypto: qat - implement " Xin Zeng
2024-02-21 15:50 ` [PATCH v3 10/10] vfio/qat: Add vfio_pci driver for Intel QAT VF devices Xin Zeng
2024-02-26 18:55   ` Alex Williamson
2024-02-26 19:12     ` Jason Gunthorpe
2024-02-26 19:41       ` Alex Williamson
2024-02-26 19:49         ` Jason Gunthorpe
2024-02-26 22:24           ` Alex Williamson
2024-02-28 19:07             ` Alex Williamson
2024-02-29 12:36               ` Yishai Hadas [this message]
2024-02-29 14:10               ` Jason Gunthorpe
2024-02-29 15:53                 ` Yishai Hadas
2024-02-29 14:22             ` Jason Gunthorpe
2024-02-26 20:25     ` Cabiddu, Giovanni
2024-02-28 13:57     ` Zeng, Xin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0c23d2c9-6c1e-4887-ab95-ca74f0dcb844@nvidia.com \
    --to=yishaih@nvidia.com \
    --cc=alex.williamson@redhat.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=jgg@nvidia.com \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=qat-linux@intel.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=xin.zeng@intel.com \
    --cc=yahui.cao@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox