mbox series

[Bionic,00/12] Enable NVLink2 devices on guests

Message ID 20190314175652.1647-1-joserz@linux.ibm.com
Headers show
Series Enable NVLink2 devices on guests | expand

Message

Jose Ricardo Ziviani March 14, 2019, 5:56 p.m. UTC
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819989
Based on master-next (currently UBUNTU: Ubuntu-4.15.0-47.50)

This patchset enables QEMU/KVM guests to use passed through NVLink2 devices.

The host side runs a custom version of Ubuntu Bionic (kernel/QEMU) but it is very important for clients to use the image that they get from Canonical's website. To accomplish that we've worked on a small patchset to cover only the guest side - avoiding changes beyond that. All patches are upstream.

Thank you very much,

Jose R. Ziviani

Alexey Kardashevskiy (9):
  powerpc/powernv/npu: Do not try invalidating 32bit table when 64bit
    table is enabled
  powerpc/powernv/idoa: Remove unnecessary pcidev from pci_dn
  powerpc/powernv: Move npu struct from pnv_phb to pci_controller
  powerpc/powernv/npu: Move OPAL calls away from context manipulation
  powerpc/pseries/iommu: Use memory@ nodes in max RAM address
    calculation
  powerpc/pseries/npu: Enable platform support
  powerpc/pseries: Remove IOMMU API support for non-LPAR systems
  powerpc/powernv/npu: Check mmio_atsd array bounds when populating
  powerpc/powernv/npu: Fault user page into the hypervisor's pagetable

Haren Myneni (1):
  powerpc/powernv: Export opal_check_token symbol

Nicholas Piggin (1):
  powerpc/powernv: call OPAL_QUIESCE before OPAL_SIGNAL_SYSTEM_RESET

Vaibhav Jain (1):
  powerpc/powernv: Make possible for user to force a full ipl cec reboot

 arch/powerpc/include/asm/opal-api.h           |   8 +
 arch/powerpc/include/asm/opal.h               |   1 +
 arch/powerpc/include/asm/pci-bridge.h         |   3 +-
 arch/powerpc/include/asm/pci.h                |   3 +
 arch/powerpc/platforms/powernv/npu-dma.c      | 198 +++++++++++-------
 .../powerpc/platforms/powernv/opal-wrappers.S |   1 +
 arch/powerpc/platforms/powernv/opal.c         |   1 +
 arch/powerpc/platforms/powernv/pci-ioda.c     |  45 +++-
 arch/powerpc/platforms/powernv/pci.h          |  19 +-
 arch/powerpc/platforms/powernv/setup.c        |  36 +++-
 arch/powerpc/platforms/powernv/smp.c          |  17 +-
 arch/powerpc/platforms/pseries/iommu.c        |  42 +++-
 arch/powerpc/platforms/pseries/pci.c          |  23 ++
 13 files changed, 282 insertions(+), 115 deletions(-)

Comments

Kleber Sacilotto de Souza March 29, 2019, 5:03 p.m. UTC | #1
On 3/14/19 6:56 PM, Jose Ricardo Ziviani wrote:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819989
> Based on master-next (currently UBUNTU: Ubuntu-4.15.0-47.50)
> 
> This patchset enables QEMU/KVM guests to use passed through NVLink2 devices.
> 
> The host side runs a custom version of Ubuntu Bionic (kernel/QEMU) but it is very important for clients to use the image that they get from Canonical's website. To accomplish that we've worked on a small patchset to cover only the guest side - avoiding changes beyond that. All patches are upstream.

Hi Ziviani,

Could you please add an SRU request template to the bug report, as described
in [1]? We are interested mainly on the regression potential of these changes
and how they can be tested.

Another thing to notice is that the format of the URL for the BugLink would be:

https://bugs.launchpad.net/bugs/<bug number>

But we can fix that when applying.


Thanks!


Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>


[1] https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template

> 
> Thank you very much,
> 
> Jose R. Ziviani
> 
> Alexey Kardashevskiy (9):
>   powerpc/powernv/npu: Do not try invalidating 32bit table when 64bit
>     table is enabled
>   powerpc/powernv/idoa: Remove unnecessary pcidev from pci_dn
>   powerpc/powernv: Move npu struct from pnv_phb to pci_controller
>   powerpc/powernv/npu: Move OPAL calls away from context manipulation
>   powerpc/pseries/iommu: Use memory@ nodes in max RAM address
>     calculation
>   powerpc/pseries/npu: Enable platform support
>   powerpc/pseries: Remove IOMMU API support for non-LPAR systems
>   powerpc/powernv/npu: Check mmio_atsd array bounds when populating
>   powerpc/powernv/npu: Fault user page into the hypervisor's pagetable
> 
> Haren Myneni (1):
>   powerpc/powernv: Export opal_check_token symbol
> 
> Nicholas Piggin (1):
>   powerpc/powernv: call OPAL_QUIESCE before OPAL_SIGNAL_SYSTEM_RESET
> 
> Vaibhav Jain (1):
>   powerpc/powernv: Make possible for user to force a full ipl cec reboot
> 
>  arch/powerpc/include/asm/opal-api.h           |   8 +
>  arch/powerpc/include/asm/opal.h               |   1 +
>  arch/powerpc/include/asm/pci-bridge.h         |   3 +-
>  arch/powerpc/include/asm/pci.h                |   3 +
>  arch/powerpc/platforms/powernv/npu-dma.c      | 198 +++++++++++-------
>  .../powerpc/platforms/powernv/opal-wrappers.S |   1 +
>  arch/powerpc/platforms/powernv/opal.c         |   1 +
>  arch/powerpc/platforms/powernv/pci-ioda.c     |  45 +++-
>  arch/powerpc/platforms/powernv/pci.h          |  19 +-
>  arch/powerpc/platforms/powernv/setup.c        |  36 +++-
>  arch/powerpc/platforms/powernv/smp.c          |  17 +-
>  arch/powerpc/platforms/pseries/iommu.c        |  42 +++-
>  arch/powerpc/platforms/pseries/pci.c          |  23 ++
>  13 files changed, 282 insertions(+), 115 deletions(-)
>
Kamal Mostafa March 29, 2019, 5:34 p.m. UTC | #2
Looks good to me:  Applies and builds fine; All upstream commits (mostly
cherries); Only affects powerpc.

Acked-by: Kamal Mostafa <kamal@canonical.com>

 -Kamal


On Thu, Mar 14, 2019 at 02:56:40PM -0300, Jose Ricardo Ziviani wrote:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819989
> Based on master-next (currently UBUNTU: Ubuntu-4.15.0-47.50)
> 
> This patchset enables QEMU/KVM guests to use passed through NVLink2 devices.
> 
> The host side runs a custom version of Ubuntu Bionic (kernel/QEMU) but it is very important for clients to use the image that they get from Canonical's website. To accomplish that we've worked on a small patchset to cover only the guest side - avoiding changes beyond that. All patches are upstream.
> 
> Thank you very much,
> 
> Jose R. Ziviani
> 
> Alexey Kardashevskiy (9):
>   powerpc/powernv/npu: Do not try invalidating 32bit table when 64bit
>     table is enabled
>   powerpc/powernv/idoa: Remove unnecessary pcidev from pci_dn
>   powerpc/powernv: Move npu struct from pnv_phb to pci_controller
>   powerpc/powernv/npu: Move OPAL calls away from context manipulation
>   powerpc/pseries/iommu: Use memory@ nodes in max RAM address
>     calculation
>   powerpc/pseries/npu: Enable platform support
>   powerpc/pseries: Remove IOMMU API support for non-LPAR systems
>   powerpc/powernv/npu: Check mmio_atsd array bounds when populating
>   powerpc/powernv/npu: Fault user page into the hypervisor's pagetable
> 
> Haren Myneni (1):
>   powerpc/powernv: Export opal_check_token symbol
> 
> Nicholas Piggin (1):
>   powerpc/powernv: call OPAL_QUIESCE before OPAL_SIGNAL_SYSTEM_RESET
> 
> Vaibhav Jain (1):
>   powerpc/powernv: Make possible for user to force a full ipl cec reboot
> 
>  arch/powerpc/include/asm/opal-api.h           |   8 +
>  arch/powerpc/include/asm/opal.h               |   1 +
>  arch/powerpc/include/asm/pci-bridge.h         |   3 +-
>  arch/powerpc/include/asm/pci.h                |   3 +
>  arch/powerpc/platforms/powernv/npu-dma.c      | 198 +++++++++++-------
>  .../powerpc/platforms/powernv/opal-wrappers.S |   1 +
>  arch/powerpc/platforms/powernv/opal.c         |   1 +
>  arch/powerpc/platforms/powernv/pci-ioda.c     |  45 +++-
>  arch/powerpc/platforms/powernv/pci.h          |  19 +-
>  arch/powerpc/platforms/powernv/setup.c        |  36 +++-
>  arch/powerpc/platforms/powernv/smp.c          |  17 +-
>  arch/powerpc/platforms/pseries/iommu.c        |  42 +++-
>  arch/powerpc/platforms/pseries/pci.c          |  23 ++
>  13 files changed, 282 insertions(+), 115 deletions(-)
> 
> -- 
> 2.20.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Khalid Elmously March 31, 2019, 11:21 p.m. UTC | #3
Applied to Bionic, after fixing the BugLink URLs.


On 2019-03-14 14:56:40 , Jose Ricardo Ziviani wrote:
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819989
> Based on master-next (currently UBUNTU: Ubuntu-4.15.0-47.50)
> 
> This patchset enables QEMU/KVM guests to use passed through NVLink2 devices.
> 
> The host side runs a custom version of Ubuntu Bionic (kernel/QEMU) but it is very important for clients to use the image that they get from Canonical's website. To accomplish that we've worked on a small patchset to cover only the guest side - avoiding changes beyond that. All patches are upstream.
> 
> Thank you very much,
> 
> Jose R. Ziviani
> 
> Alexey Kardashevskiy (9):
>   powerpc/powernv/npu: Do not try invalidating 32bit table when 64bit
>     table is enabled
>   powerpc/powernv/idoa: Remove unnecessary pcidev from pci_dn
>   powerpc/powernv: Move npu struct from pnv_phb to pci_controller
>   powerpc/powernv/npu: Move OPAL calls away from context manipulation
>   powerpc/pseries/iommu: Use memory@ nodes in max RAM address
>     calculation
>   powerpc/pseries/npu: Enable platform support
>   powerpc/pseries: Remove IOMMU API support for non-LPAR systems
>   powerpc/powernv/npu: Check mmio_atsd array bounds when populating
>   powerpc/powernv/npu: Fault user page into the hypervisor's pagetable
> 
> Haren Myneni (1):
>   powerpc/powernv: Export opal_check_token symbol
> 
> Nicholas Piggin (1):
>   powerpc/powernv: call OPAL_QUIESCE before OPAL_SIGNAL_SYSTEM_RESET
> 
> Vaibhav Jain (1):
>   powerpc/powernv: Make possible for user to force a full ipl cec reboot
> 
>  arch/powerpc/include/asm/opal-api.h           |   8 +
>  arch/powerpc/include/asm/opal.h               |   1 +
>  arch/powerpc/include/asm/pci-bridge.h         |   3 +-
>  arch/powerpc/include/asm/pci.h                |   3 +
>  arch/powerpc/platforms/powernv/npu-dma.c      | 198 +++++++++++-------
>  .../powerpc/platforms/powernv/opal-wrappers.S |   1 +
>  arch/powerpc/platforms/powernv/opal.c         |   1 +
>  arch/powerpc/platforms/powernv/pci-ioda.c     |  45 +++-
>  arch/powerpc/platforms/powernv/pci.h          |  19 +-
>  arch/powerpc/platforms/powernv/setup.c        |  36 +++-
>  arch/powerpc/platforms/powernv/smp.c          |  17 +-
>  arch/powerpc/platforms/pseries/iommu.c        |  42 +++-
>  arch/powerpc/platforms/pseries/pci.c          |  23 ++
>  13 files changed, 282 insertions(+), 115 deletions(-)
> 
> -- 
> 2.20.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Jose Ricardo Ziviani April 1, 2019, 1:50 p.m. UTC | #4
Hello Kleber,

On Fri, Mar 29, 2019 at 06:03:17PM +0100, Kleber Souza wrote:
> On 3/14/19 6:56 PM, Jose Ricardo Ziviani wrote:
> > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1819989
> > Based on master-next (currently UBUNTU: Ubuntu-4.15.0-47.50)
> > 
> > This patchset enables QEMU/KVM guests to use passed through NVLink2 devices.
> > 
> > The host side runs a custom version of Ubuntu Bionic (kernel/QEMU) but it is very important for clients to use the image that they get from Canonical's website. To accomplish that we've worked on a small patchset to cover only the guest side - avoiding changes beyond that. All patches are upstream.
> 
> Hi Ziviani,
> 
> Could you please add an SRU request template to the bug report, as described
> in [1]? We are interested mainly on the regression potential of these changes
> and how they can be tested.

Sure thing, I'm currently doing it.

> 
> Another thing to notice is that the format of the URL for the BugLink would be:
> 
> https://bugs.launchpad.net/bugs/<bug number>

Off course. I'll keep it in mind for the next time.


Thank you, Khaled, and Kamal for reviewing it.

Jose R. Ziviani

> 
> But we can fix that when applying.
> 
> 
> Thanks!
> 
> 
> Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
> 
> 
> [1] https://wiki.ubuntu.com/StableReleaseUpdates#SRU_Bug_Template
> 
> > 
> > Thank you very much,
> > 
> > Jose R. Ziviani
> > 
> > Alexey Kardashevskiy (9):
> >   powerpc/powernv/npu: Do not try invalidating 32bit table when 64bit
> >     table is enabled
> >   powerpc/powernv/idoa: Remove unnecessary pcidev from pci_dn
> >   powerpc/powernv: Move npu struct from pnv_phb to pci_controller
> >   powerpc/powernv/npu: Move OPAL calls away from context manipulation
> >   powerpc/pseries/iommu: Use memory@ nodes in max RAM address
> >     calculation
> >   powerpc/pseries/npu: Enable platform support
> >   powerpc/pseries: Remove IOMMU API support for non-LPAR systems
> >   powerpc/powernv/npu: Check mmio_atsd array bounds when populating
> >   powerpc/powernv/npu: Fault user page into the hypervisor's pagetable
> > 
> > Haren Myneni (1):
> >   powerpc/powernv: Export opal_check_token symbol
> > 
> > Nicholas Piggin (1):
> >   powerpc/powernv: call OPAL_QUIESCE before OPAL_SIGNAL_SYSTEM_RESET
> > 
> > Vaibhav Jain (1):
> >   powerpc/powernv: Make possible for user to force a full ipl cec reboot
> > 
> >  arch/powerpc/include/asm/opal-api.h           |   8 +
> >  arch/powerpc/include/asm/opal.h               |   1 +
> >  arch/powerpc/include/asm/pci-bridge.h         |   3 +-
> >  arch/powerpc/include/asm/pci.h                |   3 +
> >  arch/powerpc/platforms/powernv/npu-dma.c      | 198 +++++++++++-------
> >  .../powerpc/platforms/powernv/opal-wrappers.S |   1 +
> >  arch/powerpc/platforms/powernv/opal.c         |   1 +
> >  arch/powerpc/platforms/powernv/pci-ioda.c     |  45 +++-
> >  arch/powerpc/platforms/powernv/pci.h          |  19 +-
> >  arch/powerpc/platforms/powernv/setup.c        |  36 +++-
> >  arch/powerpc/platforms/powernv/smp.c          |  17 +-
> >  arch/powerpc/platforms/pseries/iommu.c        |  42 +++-
> >  arch/powerpc/platforms/pseries/pci.c          |  23 ++
> >  13 files changed, 282 insertions(+), 115 deletions(-)
> > 
>