Bug 1400785
Summary: | qemu: Remove pxi-expander-bridge (PXB) device for Power | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | David Gibson <dgibson> | |
Component: | qemu-kvm-rhev | Assignee: | David Gibson <dgibson> | |
Status: | CLOSED ERRATA | QA Contact: | Qunfang Zhang <qzhang> | |
Severity: | medium | Docs Contact: | ||
Priority: | unspecified | |||
Version: | 7.4 | CC: | abologna, dzheng, juzhang, knoel, marcel, mrezanin, qzhang, virt-maint | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | ppc64le | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | qemu-kvm-rhev-2.9.0-1.el7 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1436051 (view as bug list) | Environment: | ||
Last Closed: | 2017-08-01 23:39:45 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1436051 |
Description
David Gibson
2016-12-02 05:04:58 UTC
Marcel, I'm trying to understand exactly what the pxb device is for. My impression is that it's essentially a hack to deal with the fact that x86 doesn't really handle truly independent PCI host bridges nicely. Does that sound right? I think we don't want it on Power, but I'm trying to make sure. [Incidentally pxi_expander_bridge.c #includes hw/i386/pc.h, but doesn't seem to need it (no compile errors if I take it away).] (In reply to David Gibson from comment #1) > Marcel, Hi David, > > I'm trying to understand exactly what the pxb device is for. My impression > is that it's essentially a hack to deal with the fact that x86 doesn't > really handle truly independent PCI host bridges nicely. Does that sound > right? > You are right, anyway, the real reason is to be able to "assign" a PCI device to the correct Guest NUMA node. If the guest RAM comes from different host NUMA nodes and you have a host assigned device , you need to associate it somehow to the corresponding guest NUMA node. The pxb/pxb-pcie device exposes an extra root bus that can be associated with a specific guest NUMA node using the ACPI tables. > I think we don't want it on Power, but I'm trying to make sure. > Do you have a solution for the problem above? > [Incidentally pxi_expander_bridge.c #includes hw/i386/pc.h, but doesn't seem > to need it (no compile errors if I take it away).] Thanks, Marcel (In reply to Marcel Apfelbaum from comment #2) > > I'm trying to understand exactly what the pxb device is for. My impression > > is that it's essentially a hack to deal with the fact that x86 doesn't > > really handle truly independent PCI host bridges nicely. Does that sound > > right? > > You are right, anyway, the real reason is to be able > to "assign" a PCI device to the correct Guest NUMA node. > > If the guest RAM comes from different host NUMA nodes and you have > a host assigned device , you need to associate it somehow to > the corresponding guest NUMA node. > > The pxb/pxb-pcie device exposes an extra root bus that can be associated > with a specific guest NUMA node using the ACPI tables. > > > I think we don't want it on Power, but I'm trying to make sure. > > Do you have a solution for the problem above? You should be able to achieve the same end result on ppc64 guests by creating additional PHBs (spapr-pci-host-bridge): Bug 1280542 is about adding support for this to libvirt. Right. i.e. we have a solution on the qemu side, but not yet the libvirt side. Well.. we do upstream, in RHEL7.3, I believe you can add PHBs, but you can't set their NUMA node. That's fixed upstream so it should be in RHEL 7.4 as well. So we can track them separately, move the EHCI related stuff to bug 1410674. Refocus this bug purely on removing the pxb. The PXB is currently included unconditionally upstream, so it will need to be made conditional there, rather than only requiring a downstream config change. I've posted an RFC patch for this upstream: https://lists.gnu.org/archive/html/qemu-devel/2017-01/msg00715.html This is now merged upstream, so we should get it in the rebase to 2.9. Qunfang, can we get a QA ack for this: this should reduce the overall testing load, since all the PXB related tests can be dropped. Verified that PXB device existed on qemu-kvm-rhev-2.6.0-28.el7_3.9.ppc64le.rpm, and removed on qemu-kvm-rhev-2.9.0-2.el7.ppc64le. For old qemu-kvm-rhev-2.6.0-28.el7_3.9.ppc64le: # /usr/libexec/qemu-kvm -device ? Controller/Bridge/Hub devices: name "pci-bridge", bus PCI, desc "Standard PCI Bridge" name "pci-bridge-seat", bus PCI, desc "Standard PCI Bridge (multiseat)" name "pxb", bus PCI, desc "PCI Expander Bridge" name "pxb-pcie", bus PCI, desc "PCI Express Expander Bridge" name "spapr-pci-host-bridge", bus System name "spapr-pci-vfio-host-bridge", bus System name "usb-host", bus usb-bus name "usb-hub", bus usb-bus For qemu-kvm-rhev-2.9.0-2.el7.ppc64le: # /usr/libexec/qemu-kvm -device ? Controller/Bridge/Hub devices: name "pci-bridge", bus PCI, desc "Standard PCI Bridge" name "pci-bridge-seat", bus PCI, desc "Standard PCI Bridge (multiseat)" name "spapr-pci-host-bridge", bus System name "spapr-pci-vfio-host-bridge", bus System name "usb-host", bus usb-bus name "usb-hub", bus usb-bus Setting to VERIFIED. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:2392 |