APPLIED[K]: [K][PULL] Enhanced Interpretation for PCI Functions on s390x

Andrea Righi andrea.righi at canonical.com
Wed Sep 21 06:15:21 UTC 2022


On Wed, Sep 21, 2022 at 07:56:53AM +0200, frank.heimes at canonical.com wrote:
> BugLink: https://bugs.launchpad.net/bugs/1853306
> 
> The PCI Passthrough implementation is based on intercepting PCI I/O
> instructions which leads to a reduced I/O performance compared to execution
> of PCI instructions in LPAR.
> For improved performance the interpretive execution of the PCI store and
> PCI load instructions got enabled.
> Further improvement is achieved by enabling the Adapter-Event-Notification.

Applied to kinetic/linux, thanks!

-Andrea

> 
> ---
> 
> The following changes since commit 71aba617e9773a80b4aaf384cd63cf74997025e6:
> 
>   s390/pci: allow zPCI zbus without a function zero (2022-09-20 16:05:56 +0200)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~fheimes/+git/lp1853306/ 743e8793343a5f27d10ebd82f160c93568fa96af
> 
> for you to fetch changes up to 743e8793343a5f27d10ebd82f160c93568fa96af:
> 
>   KVM: s390: pci: Hook to access KVM lowlevel from VFIO (2022-09-20 19:26:05 +0200)
> 
> ----------------------------------------------------------------
> Bagas Sanjaya (1):
>       Documentation: kvm: extend KVM_S390_ZPCI_OP subheading underline
> 
> Matthew Rosato (21):
>       s390/sclp: detect the zPCI load/store interpretation facility
>       s390/sclp: detect the AISII facility
>       s390/sclp: detect the AENI facility
>       s390/sclp: detect the AISI facility
>       s390/airq: pass more TPI info to airq handlers
>       s390/airq: allow for airq structure that uses an input vector
>       s390/pci: externalize the SIC operation controls and routine
>       s390/pci: stash associated GISA designation
>       s390/pci: stash dtsm and maxstbl
>       vfio/pci: introduce CONFIG_VFIO_PCI_ZDEV_KVM
>       KVM: s390: pci: add basic kvm_zdev structure
>       KVM: s390: pci: do initial setup for AEN interpretation
>       KVM: s390: pci: enable host forwarding of Adapter Event Notifications
>       KVM: s390: mechanism to enable guest zPCI Interpretation
>       KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding
>       KVM: s390: pci: add routines to start/stop interpretive execution
>       vfio-pci/zdev: add open/close device hooks
>       vfio-pci/zdev: add function handle to clp base capability
>       vfio-pci/zdev: different maxstbl for interpreted devices
>       KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices
>       MAINTAINERS: additional files related kvm s390 pci passthrough
> 
> Pierre Morel (1):
>       KVM: s390: pci: Hook to access KVM lowlevel from VFIO
> 
>  Documentation/virt/kvm/api.rst   |  47 +++
>  MAINTAINERS                      |   1 +
>  arch/s390/include/asm/airq.h     |   7 +-
>  arch/s390/include/asm/kvm_host.h |  18 +
>  arch/s390/include/asm/pci.h      |  11 +
>  arch/s390/include/asm/pci_clp.h  |   9 +-
>  arch/s390/include/asm/pci_insn.h |  29 +-
>  arch/s390/include/asm/sclp.h     |   4 +
>  arch/s390/include/asm/tpi.h      |  13 +
>  arch/s390/kvm/Makefile           |   1 +
>  arch/s390/kvm/interrupt.c        |  96 +++++-
>  arch/s390/kvm/kvm-s390.c         |  83 ++++-
>  arch/s390/kvm/kvm-s390.h         |  10 +
>  arch/s390/kvm/pci.c              | 694 +++++++++++++++++++++++++++++++++++++++
>  arch/s390/kvm/pci.h              |  88 +++++
>  arch/s390/pci/Makefile           |   2 +-
>  arch/s390/pci/pci.c              |  16 +
>  arch/s390/pci/pci_clp.c          |   7 +
>  arch/s390/pci/pci_insn.c         |   4 +-
>  arch/s390/pci/pci_irq.c          |  48 +--
>  arch/s390/pci/pci_kvm_hook.c     |  11 +
>  drivers/s390/char/sclp_early.c   |   4 +
>  drivers/s390/cio/airq.c          |  12 +-
>  drivers/s390/cio/qdio_thinint.c  |   6 +-
>  drivers/s390/crypto/ap_bus.c     |   9 +-
>  drivers/s390/virtio/virtio_ccw.c |   6 +-
>  drivers/vfio/pci/Kconfig         |  11 +
>  drivers/vfio/pci/Makefile        |   2 +-
>  drivers/vfio/pci/vfio_pci_core.c |  10 +-
>  drivers/vfio/pci/vfio_pci_zdev.c |  39 ++-
>  include/linux/sched/user.h       |   3 +-
>  include/linux/vfio_pci_core.h    |  12 +-
>  include/uapi/linux/kvm.h         |  31 ++
>  include/uapi/linux/vfio_zdev.h   |   7 +
>  34 files changed, 1294 insertions(+), 57 deletions(-)
>  create mode 100644 arch/s390/kvm/pci.c
>  create mode 100644 arch/s390/kvm/pci.h
>  create mode 100644 arch/s390/pci/pci_kvm_hook.c
> 
> -- 
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team



More information about the kernel-team mailing list