My IOMMU grouping of devices change depending on which pci-e socket I
insert my R9 290 GPU into. For the sake of purchasing a new system I
wanted to discuss the different groupings so I can better choose my new
hardware.
Here are the IOMMU group which contain my GPU with the GPU inserted into
the three different PCIE slots I have (for all groups in the different
configs see attachments).
#A: GPU in PCIE1
IOMMU group 1
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th
Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices,
Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Hawaii HDMI Audio [1002:aac8]
#B: GPU in PCIE3
IOMMU group 1
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th
Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th
Gen Core Processor PCI Express x8 Controller [8086:0c05] (rev 06)
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices,
Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]
02:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Hawaii HDMI Audio [1002:aac8]
#C: GPU in PCIE4
IOMMU group 14
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices,
Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]
04:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Hawaii HDMI Audio [1002:aac8]
I have had success with Arch linux and stock kernel 4.4.1 with config #C
(GPU in PCIE4), but not the others. Is that to be expected without
patching the kernel (i.e. the GPU needs to be in a group all by itself)?
Can these groups be figured out without plugging the GPU into the
different slots and looking at /sys/kernel/iommu_groups/; deduced from
the chip set specification, inspecting /sys/ in more clever way, or
similar? If yes, then it would be great to collect a list of hardware
and its groupings. That way it would be easier to decide which
motherboard and cpu to get for different setups.
/ Jonas
## Details about my system:
The system is:
- MB: ASROCK Z87M Extreme 4
(http://www.asrock.com/mb/Intel/Z87M%20Extreme4/)
- CPU: i7-4770
The motherboard has four pci-e sockets, labeled pcie1-4:
[ PCIE1 ]
[PCIE2]
[ PCIE3 ]
[ PCIE4 ]
It is a good question which is how fast, the manual reads:
- 2 x PCI Express 3.0 x16 slots (PCIE1/PCIE3: single at x16 (PCIE1);
dual at x8 (PCIE1) / x8 (PCIE3))
- 1 x PCI Express 2.0 x16 slot (PCIE4: x4 mode)
- 1 x PCI Express 2.0 x1 slot
# GPU in PCIE4
IOMMU group 0
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor
DRAM Controller [8086:0c00] (rev 06)
IOMMU group 1
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
IOMMU group 2
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon
E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412]
(rev 06)
IOMMU group 3
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor HD Audio Controller [8086:0c0c] (rev 06)
IOMMU group 4
00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB xHCI [8086:8c31] (rev 05)
IOMMU group 5
00:16.0 Communication controller [0780]: Intel Corporation 8
Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04)
IOMMU group 6
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet
Connection I217-V [8086:153b] (rev 05)
IOMMU group 7
00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #2 [8086:8c2d] (rev 05)
IOMMU group 8
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series
Chipset High Definition Audio Controller [8086:8c20] (rev 05)
IOMMU group 9
00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5)
IOMMU group 10
00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5)
IOMMU group 11
00:1c.4 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #5 [8086:8c18] (rev d5)
IOMMU group 12
00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #1 [8086:8c26] (rev 05)
IOMMU group 13
00:1f.0 ISA bridge [0601]: Intel Corporation Z87 Express LPC Controller
[8086:8c44] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series/C220 Series
Chipset Family 6-port SATA Controller 1 [AHCI mode] [8086:8c02] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset
Family SMBus Controller [8086:8c22] (rev 05)
IOMMU group 14
04:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]
04:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Hawaii HDMI Audio [1002:aac8]
# GPU in PCIE3
IOMMU group 0
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor
DRAM Controller [8086:0c00] (rev 06)
IOMMU group 1
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor PCI Express x8 Controller [8086:0c05] (rev 06)
02:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]
02:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Hawaii HDMI Audio [1002:aac8]
IOMMU group 2
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon
E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412]
(rev 06)
IOMMU group 3
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor HD Audio Controller [8086:0c0c] (rev 06)
IOMMU group 4
00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB xHCI [8086:8c31] (rev 05)
IOMMU group 5
00:16.0 Communication controller [0780]: Intel Corporation 8
Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04)
IOMMU group 6
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet
Connection I217-V [8086:153b] (rev 05)
IOMMU group 7
00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #2 [8086:8c2d] (rev 05)
IOMMU group 8
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series
Chipset High Definition Audio Controller [8086:8c20] (rev 05)
IOMMU group 9
00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5)
IOMMU group 10
00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5)
IOMMU group 11
00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #1 [8086:8c26] (rev 05)
IOMMU group 12
00:1f.0 ISA bridge [0601]: Intel Corporation Z87 Express LPC Controller
[8086:8c44] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series/C220 Series
Chipset Family 6-port SATA Controller 1 [AHCI mode] [8086:8c02] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset
Family SMBus Controller [8086:8c22] (rev 05)
# GPU in PCIE1
IOMMU group 0
00:00.0 Host bridge [0600]: Intel Corporation 4th Gen Core Processor
DRAM Controller [8086:0c00] (rev 06)
IOMMU group 1
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor PCI Express x16 Controller [8086:0c01] (rev 06)
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] Hawaii PRO [Radeon R9 290] [1002:67b1]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Hawaii HDMI Audio [1002:aac8]
IOMMU group 2
00:02.0 VGA compatible controller [0300]: Intel Corporation Xeon
E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller [8086:0412]
(rev 06)
IOMMU group 3
00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen
Core Processor HD Audio Controller [8086:0c0c] (rev 06)
IOMMU group 4
00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB xHCI [8086:8c31] (rev 05)
IOMMU group 5
00:16.0 Communication controller [0780]: Intel Corporation 8
Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04)
IOMMU group 6
00:19.0 Ethernet controller [0200]: Intel Corporation Ethernet
Connection I217-V [8086:153b] (rev 05)
IOMMU group 7
00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #2 [8086:8c2d] (rev 05)
IOMMU group 8
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series
Chipset High Definition Audio Controller [8086:8c20] (rev 05)
IOMMU group 9
00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #1 [8086:8c10] (rev d5)
IOMMU group 10
00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series
Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5)
IOMMU group 11
00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series
Chipset Family USB EHCI #1 [8086:8c26] (rev 05)
IOMMU group 12
00:1f.0 ISA bridge [0601]: Intel Corporation Z87 Express LPC Controller
[8086:8c44] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series/C220 Series
Chipset Family 6-port SATA Controller 1 [AHCI mode] [8086:8c02] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset
Family SMBus Controller [8086:8c22] (rev 05)
_______________________________________________
vfio-users mailing list
vfio-users@redhat.com
https://www.redhat.com/mailman/listinfo/vfio-users