Bug 1408810 - PCIe: Add an option to PCIe ports to disable IO port space support
Summary: PCIe: Add an option to PCIe ports to disable IO port space support
Status: ASSIGNED
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libvirt
Version: 8.0
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: 8.0
Assignee: Andrea Bolognani
QA Contact: Meina Li
URL:
Whiteboard:
Keywords: FutureFeature
: 1504111 (view as bug list)
Depends On: 1344299
Blocks: 1410577 1410578
TreeView+ depends on / blocked
 
Reported: 2016-12-27 12:11 UTC by Marcel Apfelbaum
Modified: 2019-06-07 11:45 UTC (History)
17 users (show)

(edit)
Clone Of: 1344299
: 1410577 1410578 (view as bug list)
(edit)
Last Closed:


Attachments (Terms of Use)
lmn.xml for testing 15 e1000 devices (17.54 KB, text/plain)
2019-01-10 08:45 UTC, Meina Li
no flags Details

Description Marcel Apfelbaum 2016-12-27 12:11:03 UTC
+++ This bug was initially created as a clone of Bug #1344299 +++

Even if the firmware skips assigning IO ranges to PCIe ports (root
ports/downstream ports), Linux guests will still try to assign them IO.

We can to add a parameter "disable-io" to PCIe ports to disable IO support.
It will work by making IO base/limit registers read-only so both firmware
and guest OSes will comply.

--- Additional comment from RHEL Product and Program Management on 2016-06-09 08:04:38 EDT ---

Since this bug report was entered in bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

--- Additional comment from Marcel Apfelbaum on 2016-06-23 06:07:07 EDT ---

We intend to provide a 'thin' version of Q35 for 7.3 to be used mainly with
virtio devices which are PCIe, the IO limitation will not be an issue.


Add libvirt support for the device command line parameters.

Comment 5 Jaroslav Suchanek 2017-11-15 14:41:50 UTC
*** Bug 1504111 has been marked as a duplicate of this bug. ***

Comment 7 Meina Li 2019-01-10 08:42:53 UTC
According to the understanding for this bug, I reproduced the following scenario:

SC1: Boot a guest with 15 e1000 devices which plugged into 15 pcie-to-pci-bridge controllers, the pcie topology: 15 e1000 device --> 15 pcie-to-pci-bridge --> 15 pcie-root-port
SC2: Using 10 e1000 devices to test        ---The guest start successfully in this scenario.

Reproduced version:
qemu-kvm-rhev-2.12.0-19.el7_6.2.x86_64
libvirt-4.5.0-10.el7_6.3.x86_64
kernel-3.10.0-986.el7.x86_64

Reproduced steps:

1. Prepare a guest xml with 15 e1000 devices which plugged into 15 pcie-to-pci-bridge controllers.
(can refer to the lmn.xml in attachment)

2. Define and start the guest.
# virsh define lmn.xml 
Domain lmn defined from lmn.xml
# virsh start lmn
Domain lmn started
# virsh list --all
 Id    Name                           State
----------------------------------------------------
 16    lmn                            running

3. Check the boot process by virt-manager.
The screen doesn't display properly, the guest may panic and halt.

Comment 8 Meina Li 2019-01-10 08:44:23 UTC
(In reply to Meina Li from comment #7)
> According to the understanding for this bug, I reproduced the following
> scenario:
> 
> SC1: Boot a guest with 15 e1000 devices which plugged into 15
> pcie-to-pci-bridge controllers, the pcie topology: 15 e1000 device --> 15
> pcie-to-pci-bridge --> 15 pcie-root-port
> SC2: Using 10 e1000 devices to test        ---The guest start successfully
> in this scenario.

Correct SC2: Using 9 e1000 devices to test

> Reproduced version:
> qemu-kvm-rhev-2.12.0-19.el7_6.2.x86_64
> libvirt-4.5.0-10.el7_6.3.x86_64
> kernel-3.10.0-986.el7.x86_64
> 
> Reproduced steps:
> 
> 1. Prepare a guest xml with 15 e1000 devices which plugged into 15
> pcie-to-pci-bridge controllers.
> (can refer to the lmn.xml in attachment)
> 
> 2. Define and start the guest.
> # virsh define lmn.xml 
> Domain lmn defined from lmn.xml
> # virsh start lmn
> Domain lmn started
> # virsh list --all
>  Id    Name                           State
> ----------------------------------------------------
>  16    lmn                            running
> 
> 3. Check the boot process by virt-manager.
> The screen doesn't display properly, the guest may panic and halt.

Comment 9 Meina Li 2019-01-10 08:45 UTC
Created attachment 1519673 [details]
lmn.xml for testing 15 e1000 devices

Comment 10 Andrea Bolognani 2019-06-07 11:45:06 UTC
Some relevant discussion happening on qemu-devel.

  https://lists.nongnu.org/archive/html/qemu-devel/2019-06/msg01093.html


Note You need to log in before you can comment on or make changes to this bug.