Subject: RE: [PATCH v8 8/9] hisi_acc_vfio_pci: Add support for VFIO live migration



> -----Original Message-----
> From: Alex Williamson [mailto:[email protected]]
> Sent: 04 March 2022 19:44
> To: Shameerali Kolothum Thodi <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> liulongfang <[email protected]>; Zengtao (B)
> <[email protected]>; Jonathan Cameron
> <[email protected]>; Wangzhou (B) <[email protected]>
> Subject: Re: [PATCH v8 8/9] hisi_acc_vfio_pci: Add support for VFIO live
> migration
>
> On Fri, 4 Mar 2022 08:48:27 +0000
> Shameerali Kolothum Thodi <[email protected]>
> wrote:
>
> > Hi Alex,
> >
> > > -----Original Message-----
> > > From: Shameerali Kolothum Thodi
> > > Sent: 03 March 2022 23:02
> > > To: [email protected]; [email protected];
> > > [email protected]
> > > Cc: [email protected]; [email protected];
> [email protected];
> > > [email protected]; [email protected]; [email protected];
> Linuxarm
> > > <[email protected]>; liulongfang <[email protected]>;
> Zengtao (B)
> > > <[email protected]>; Jonathan Cameron
> > > <[email protected]>; Wangzhou (B)
> <[email protected]>
> > > Subject: [PATCH v8 8/9] hisi_acc_vfio_pci: Add support for VFIO live
> migration
> > >
> > > From: Longfang Liu <[email protected]>
> > >
> > > VMs assigned with HiSilicon ACC VF devices can now perform live
> migration if
> > > the VF devices are bind to the hisi_acc_vfio_pci driver.
> > >
> > > Signed-off-by: Longfang Liu <[email protected]>
> > > Signed-off-by: Shameer Kolothum
> <[email protected]>
> >
> > [...]
> > > +
> > > +static int vf_qm_check_match(struct hisi_acc_vf_core_device
> *hisi_acc_vdev,
> > > + struct hisi_acc_vf_migration_file *migf) {
> > > + struct acc_vf_data *vf_data = &migf->vf_data;
> > > + struct hisi_qm *vf_qm = &hisi_acc_vdev->vf_qm;
> > > + struct hisi_qm *pf_qm = &hisi_acc_vdev->vf_qm;
> >
> > Oops, the above has to be,
> > struct hisi_qm *pf_qm = hisi_acc_vdev->pf_qm;
> >
> > This was actually fixed in v6, but now that I rebased mainly to v5, missed it.
> > Please let me know if you want a re-spin with the above fix(in case there are
> no further
> > comments) or this is something you can take care.
>
> To confirm, you're looking for this change:
>
> diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> index aa2e4b6bf598..f2a0c046413f 100644
> --- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> +++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> @@ -413,7 +413,7 @@ static int vf_qm_check_match(struct
> hisi_acc_vf_core_device *hisi_acc_vdev,
> {
> struct acc_vf_data *vf_data = &migf->vf_data;
> struct hisi_qm *vf_qm = &hisi_acc_vdev->vf_qm;
> - struct hisi_qm *pf_qm = &hisi_acc_vdev->vf_qm;
> + struct hisi_qm *pf_qm = &hisi_acc_vdev->pf_qm;
> struct device *dev = &vf_qm->pdev->dev;
> u32 que_iso_state;
> int ret;
>
> Right?

Not really. pf_qm is a pointer. This is the change,

diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
index 53e4c5cb3a71..54813772a071 100644
--- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
+++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
@@ -413,7 +413,7 @@ static int vf_qm_check_match(struct hisi_acc_vf_core_device *hisi_acc_vdev,
{
struct acc_vf_data *vf_data = &migf->vf_data;
struct hisi_qm *vf_qm = &hisi_acc_vdev->vf_qm;
- struct hisi_qm *pf_qm = &hisi_acc_vdev->vf_qm;
+ struct hisi_qm *pf_qm = hisi_acc_vdev->pf_qm;
struct device *dev = &vf_qm->pdev->dev;
u32 que_iso_state;
int ret;

I can roll that in assuming there are no further comments that
> would generate a respin. Thanks,
>
Thanks,
Shameer