Re: [PATCH] vfio/qat: add PCI_IOV dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 31 May 2024 02:56:09 +0000
"Zeng, Xin" <xin.zeng@xxxxxxxxx> wrote:

> On Wednesday, May 29, 2024 1:36 PM, Tian, Kevin <kevin.tian@xxxxxxxxx> wrote:
> > To: Zeng, Xin <xin.zeng@xxxxxxxxx>; Arnd Bergmann <arnd@xxxxxxxxxx>;
> > Cabiddu, Giovanni <giovanni.cabiddu@xxxxxxxxx>; Alex Williamson
> > <alex.williamson@xxxxxxxxxx>; Cao, Yahui <yahui.cao@xxxxxxxxx>
> > Cc: Arnd Bergmann <arnd@xxxxxxxx>; Jason Gunthorpe <jgg@xxxxxxxx>;
> > Yishai Hadas <yishaih@xxxxxxxxxx>; Shameer Kolothum
> > <shameerali.kolothum.thodi@xxxxxxxxxx>; kvm@xxxxxxxxxxxxxxx; qat-
> > linux <qat-linux@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> > Subject: RE: [PATCH] vfio/qat: add PCI_IOV dependency
> >   
> > > From: Zeng, Xin <xin.zeng@xxxxxxxxx>
> > > Sent: Wednesday, May 29, 2024 11:11 AM
> > >
> > > On Wednesday, May 29, 2024 10:25 AM, Tian, Kevin <kevin.tian@xxxxxxxxx>  
> > > > To: Arnd Bergmann <arnd@xxxxxxxxxx>; Zeng, Xin <xin.zeng@xxxxxxxxx>;
> > > > Cabiddu, Giovanni <giovanni.cabiddu@xxxxxxxxx>; Alex Williamson
> > > > <alex.williamson@xxxxxxxxxx>; Cao, Yahui <yahui.cao@xxxxxxxxx>
> > > > Cc: Arnd Bergmann <arnd@xxxxxxxx>; Jason Gunthorpe <jgg@xxxxxxxx>;
> > > > Yishai Hadas <yishaih@xxxxxxxxxx>; Shameer Kolothum
> > > > <shameerali.kolothum.thodi@xxxxxxxxxx>; kvm@xxxxxxxxxxxxxxx; qat-
> > > > linux <qat-linux@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> > > > Subject: RE: [PATCH] vfio/qat: add PCI_IOV dependency
> > > >  
> > > > > From: Arnd Bergmann <arnd@xxxxxxxxxx>
> > > > > Sent: Tuesday, May 28, 2024 8:05 PM
> > > > >
> > > > > From: Arnd Bergmann <arnd@xxxxxxxx>
> > > > >
> > > > > The newly added driver depends on the crypto driver, but it uses  
> > > exported  
> > > > > symbols that are only available when IOV is also turned on:  
> > > >
> > > > at a glance those undefined symbols don't use any symbol under
> > > > IOV. They are just wrappers to certain callbacks registered by
> > > > by respective qat drivers which support migration.
> > > >
> > > > Probably they'd better be moved out of CONFIG_PCI_IOV in
> > > > "drivers/crypto/intel/qat/qat_common/Makefile" to remove
> > > > this dependency in vfio variant driver.
> > > >  
> > >
> > > Thanks, Kevin :-). This dependency is like the relationship between the QAT
> > > vfio
> > > variant driver and macro CRYPTO_DEV_QAT_4XXX. The variant driver  
> > doesn't  
> > > directly reference the symbols exported by module qat_4xxx which is
> > > protected
> > > by CRYPTO_DEV_QAT_4XXX, but requires the module qat_4xxx at runtime  
> > so  
> > > far.
> > > Alex suggested to put CRYPTO_DEV_QAT_4XXX as the dependency of this
> > > variant
> > > driver.
> > > For CONFIG_PCI_IOV, if it is disabled, this variant driver doesn't serve the
> > > user as
> > > well since no VFs will be created by QAT PF driver. To keep the consistency,  
> > it  
> > > might
> > > be right to make it as the dependency of this variant driver as Arnd pointed
> > > out.
> > > What do you think?
> > >  
> > 
> > Following this rationale then we need also make PCI_IOV a dependency
> > for mlx5 and hisilicon given they are for VF migration too?  
> 
> After more thoughts about this, I would agree with your first point that
> PCI_IOV should not be the dependency of the variant driver if we consider
> passthrough VFs in a nested virtualized environment. 
> So decoupling PCI_IOV from migration helpers in QAT PF driver sounds a
> better option. 

Is this then being taken care of in the QAT PF driver?  Are there
patches posted targeting v6.10?  Is there an archive of qat-linux list
somewhere?  I can't find any relevant postings on linux-crypto@vger and
can't find a public archive of qat-linux(??).  Thanks,

Alex





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux