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. Thanks, Xin