Thread (19 messages) 19 messages, 8 authors, 2021-05-04

Re: remove the nvlink2 pci_vfio subdriver v2

From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2021-05-04 13:30:35
Also in: dri-devel, kvm, linux-api, lkml, qemu-devel

On Tue, May 04, 2021 at 03:20:34PM +0200, Greg Kurz wrote:
On Tue, 4 May 2021 14:59:07 +0200
Greg Kroah-Hartman [off-list ref] wrote:
quoted
On Tue, May 04, 2021 at 02:22:36PM +0200, Greg Kurz wrote:
quoted
On Fri, 26 Mar 2021 07:13:09 +0100
Christoph Hellwig [off-list ref] wrote:
quoted
Hi all,

the nvlink2 vfio subdriver is a weird beast.  It supports a hardware
feature without any open source component - what would normally be
the normal open source userspace that we require for kernel drivers,
although in this particular case user space could of course be a
kernel driver in a VM.  It also happens to be a complete mess that
does not properly bind to PCI IDs, is hacked into the vfio_pci driver
and also pulles in over 1000 lines of code always build into powerpc
kernels that have Power NV support enabled.  Because of all these
issues and the lack of breaking userspace when it is removed I think
the best idea is to simply kill.

Changes since v1:
 - document the removed subtypes as reserved
 - add the ACK from Greg

Diffstat:
 arch/powerpc/platforms/powernv/npu-dma.c     |  705 ---------------------------
 b/arch/powerpc/include/asm/opal.h            |    3 
 b/arch/powerpc/include/asm/pci-bridge.h      |    1 
 b/arch/powerpc/include/asm/pci.h             |    7 
 b/arch/powerpc/platforms/powernv/Makefile    |    2 
 b/arch/powerpc/platforms/powernv/opal-call.c |    2 
 b/arch/powerpc/platforms/powernv/pci-ioda.c  |  185 -------
 b/arch/powerpc/platforms/powernv/pci.c       |   11 
 b/arch/powerpc/platforms/powernv/pci.h       |   17 
 b/arch/powerpc/platforms/pseries/pci.c       |   23 
 b/drivers/vfio/pci/Kconfig                   |    6 
 b/drivers/vfio/pci/Makefile                  |    1 
 b/drivers/vfio/pci/vfio_pci.c                |   18 
 b/drivers/vfio/pci/vfio_pci_private.h        |   14 
 b/include/uapi/linux/vfio.h                  |   38 -

Hi Christoph,

FYI, these uapi changes break build of QEMU.
What uapi changes?
All macros and structure definitions that are being removed
from include/uapi/linux/vfio.h by patch 1.
quoted
What exactly breaks?
These macros and types are used by the current QEMU code base.
Next time the QEMU source tree updates its copy of the kernel
headers, the compilation of affected code will fail.
So does QEMU use this api that is being removed, or does it just have
some odd build artifacts of the uapi things?

What exactly is the error messages here?

And if we put the uapi .h file stuff back, is that sufficient for qemu
to work, as it should be checking at runtime what the kernel has / has
not anyway, right?

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help