Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1373184

Summary: Use nec-xhci USB controller by default on ppc64
Product: Red Hat Enterprise Linux 7 Reporter: Andrea Bolognani <abologna>
Component: libvirtAssignee: Pavel Hrdina <phrdina>
Status: CLOSED ERRATA QA Contact: Dan Zheng <dzheng>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: juzhou, rbalakri, thuth, tzheng, xiaodwan, xuzhang, yalzhang
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64le   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-3.2.0-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 17:14:13 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: 1401400    

Description Andrea Bolognani 2016-09-05 12:48:02 UTC
libvirt currently defaults to pci-ohci on ppc64.

However, this USB controller has some issues (see Bug 1212275)
that are unlikely to ever be fixed; moreover nec-xhci is USB3
as opposed to USB2, which should give better performance anyway.

QEMU has already started using nec-xhci (see Bug 1284333)
because of these reasons.

libvirt, on the other hand, can't change its default due to
the fact that up until very recently the USB controller model
was not formatted in the guest configuration.

virt-install and related tools should use nec-xhci by default
for new ppc64 guests.

Note that a partially overlapping upstream RFE (Bug 1271410)
has already been filed a while ago; while implementing that
RFE would solve this bug as well, the scope for this bug is
much more narrow.

Comment 2 Pavel Hrdina 2017-03-02 08:52:16 UTC
Moving this bug to Libvirt because Libvirt is the one who set's the default and in fact it can be fixed in Libvirt that only new domain will use nex-usb-xhci model.

Comment 3 Pavel Hrdina 2017-03-02 08:53:32 UTC
Upstream patch posted:

https://www.redhat.com/archives/libvir-list/2017-March/msg00057.html

Comment 4 Pavel Hrdina 2017-04-20 07:15:49 UTC
Upstream commit:

commit fe728cb4e8f13aec03dd263d9641dc0623f6a1c5
Author: Pavel Hrdina <phrdina>
Date:   Wed Mar 1 19:58:22 2017 +0100

    qemu_domain: use correct default USB controller on ppc64

Comment 7 Dan Zheng 2017-05-10 10:31:59 UTC
Test package:
libvirt-3.2.0-4.el7.ppc64le
qemu-kvm-rhev-2.9.0-2.el7.ppc64le


Configure a guest XML with below usb controller setting without model specified.

<controller type='usb' index='0'/>

Save and re-check the XML, below model 'qemu-xhci' is created as default.

    <controller type='usb' index='0' model='qemu-xhci'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>

Start the guest and check qemu command line.

qemu      33043      1 92 06:23 ?        00:00:13 /usr/libexec/qemu-kvm -name guest=vm1,debug-threads=on -S ... ***-device qemu-xhci,id=usb,bus=pci.0,addr=0x2 ***

[root@localhost ~]# lspci -vv
00:02.0 USB controller: Red Hat, Inc. Device 000d (rev 01) (prog-if 30 [XHCI])
	Subsystem: Red Hat, Inc Device 1100
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 17
	Region 0: Memory at 210000000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [90] MSI-X: Enable+ Count=16 Masked-
		Vector table: BAR=0 offset=00003000
		PBA: BAR=0 offset=00003800
	Kernel driver in use: xhci_hcd

Comment 8 Dan Zheng 2017-06-20 08:31:39 UTC
Above test result is consistent to the expectation of BZ1438682comment 7) which is more preferable.

Comment 9 errata-xmlrpc 2017-08-01 17:14:13 UTC
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/RHEA-2017:1846

Comment 10 errata-xmlrpc 2017-08-01 23:55:08 UTC
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/RHEA-2017:1846

Comment 11 errata-xmlrpc 2017-08-02 01:27:35 UTC
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/RHEA-2017:1846