• Hallo Gast!
    Noch bis zum 20.07. kannst Du an unserer Umfrage zum Hersteller des Jahres teilnehmen! Als Gewinn verlosen wir unter allen Teilnehmern dieses Mal eine Grafikkarte Eurer Wahl für bis zu 1.000 EUR - über eine Teilnahme würden wir uns sehr freuen!

Intel Chipsätze für Skylake-Prozessoren die vt-d ermöglichen

Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Nein habe ich nicht, sollte das zum Problem werden?

Ich werde die integrierte GPU für das Linuxsystem nutzen, und die GTX780ti nur noch für die VM
Also eigentlich das einfachste Setup. Damit sollte es doch keine Probleme geben, oder?
 
Ja, das sollte eigentlich funktionieren, der PCIe-Switch wäre afaik auch kein Problem, solange du alle Geräte daran in die VM packen willst. Du kannst dir eigentlich auch einen i7-4790K besorgen, der hat laut Intel auch VT-d.

jdl: hm, das ist interessant :) - wie sehen denn die IOMMU-Gruppen aus (und das ACS-Patch hast du nicht installiert)?
 
jdl: hm, das ist interessant :) - wie sehen denn die IOMMU-Gruppen aus (und das ACS-Patch hast du nicht installiert)?
Nein, es ist ein Standard ubuntu 14.04 LTS, Kernel 3.13.0-71-generic. Xeon E3-1240 auf einem Asus P8B WS (PCH C206). Ich habe auf die Schnelle nur die GT218 in den dritten Slot gesteckt, daß ist der PCIe Slot der mit x4 direkt an der CPU hängt. Die primäre GTX 960 hängt mit x16 ebenfalls an der CPU. Ich könnte noch ausprobieren die GT218 in den untersten Slot (x4 am PCH) zu stecken. In den zweiten paßt sie nicht, weil sie sich mit der GTX 960 in die Quere kommt. Dazu müßte ich die Karten umbauen, und dazu habe ich gerade keine Lust. Ich habe das Thema VT-d nicht weiterverfolgt, weil ich die GTX 960 als Karte für Linux weiternutzen will, und für die Gäste eine UEFI Karte bräuchte. Sprich die GT218 kommt dazu leider nicht in Frage.

Der aufs wesentliche verkürzte Output von lspci
Code:
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
	Kernel driver in use: pcieport
00:06.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:010d] (rev 09)
	Kernel driver in use: pcieport
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
	Subsystem: ASUSTeK Computer Inc. Device [1043:854e]
	Kernel driver in use: nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
	Subsystem: ASUSTeK Computer Inc. Device [1043:854e]
	Kernel driver in use: snd_hda_intel
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2)
	Subsystem: ASUSTeK Computer Inc. EN210 SILENT [1043:8334]
02:00.1 Audio device [0403]: NVIDIA Corporation High Definition Audio Controller [10de:0be3] (rev a1)
	Subsystem: ASUSTeK Computer Inc. Device [1043:8334]
	Kernel driver in use: snd_hda_intel
Und die IOMMU Gruppenübersicht
Code:
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
[color=blue]/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1[/color]
[color=green]/sys/kernel/iommu_groups/2/devices/0000:00:06.0
/sys/kernel/iommu_groups/2/devices/0000:02:00.0
/sys/kernel/iommu_groups/2/devices/0000:02:00.1[/color]
/sys/kernel/iommu_groups/3/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:1a.0
/sys/kernel/iommu_groups/5/devices/0000:00:1b.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7
/sys/kernel/iommu_groups/6/devices/0000:04:00.0
/sys/kernel/iommu_groups/6/devices/0000:05:00.0
/sys/kernel/iommu_groups/6/devices/0000:06:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1e.0
/sys/kernel/iommu_groups/9/devices/0000:00:1f.0
/sys/kernel/iommu_groups/9/devices/0000:00:1f.2
/sys/kernel/iommu_groups/9/devices/0000:00:1f.3
 
danke, da hat der CPU-Port gleich 2 Root-Hubs :eek: – mit den neueren C-Chipsätzen scheint das nicht mehr zu gehen, die haben aber auch nur noch 16 Lanes, DANKE Intel -.-.
Normalerweise sollte man auch mit VGA die GPU nutzen können, als sekundäre Karte (d.h. entweder blind booten oder QXL zur Diagnose) – ich werde dann beim nächsten Reboot mal den Schalter umlegen :).

EDIT: Schalter umgelegt: als sekundäre GPU (QXL zusätzlich) funktioniert meiner R9 390 sowohl mit UEFI, als auch klassischer BIOS-Firmware unter Windows 10 (zumindest direkt nach dem Boot). Einen Versuch scheint das zumindest wert :). Vllt. stecke ich die Tage mal eine alte x1400 zu, um zu sehen, wie weit sich das Spiel treiben lässt.
 
Zuletzt bearbeitet:
danke, da hat der CPU-Port gleich 2 Root-Hubs :eek: – mit den neueren C-Chipsätzen scheint das nicht mehr zu gehen, die haben aber auch nur noch 16 Lanes, DANKE Intel -.-.
Wenn ich die Doku der verschiedenen Xeon E3 Generation richtig interpretiere, hat bis auf den Xeon E3v5 jede der Generationen die zwei PCI root Devices mit ID 1 und 6. Der E3v5 hat nur noch ID 1. Die 16+4 Lanes gab es bei Xeon E3 und E3v2. Der E3v2 hat 16 3.0 der ältere nur 16 2.0 Lanes. Am Wochenende werde ich die Grafikkarte doch nochmals umbauen. Die GT218 wird im PCH Slot auf PCIe 03:00.0 und 03:00.1 gemappt und der IOMMU Gruppe 6 zugeteilt. Sprich alle PCIe Ports des PCHs sind in einer IOMMU Gruppe.
 
bei mir (MSI B85M-G43) sieht das so aus:

Code:
$lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3 Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation B85 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii PRO [Radeon R9 290] (rev 80)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aac8
02:00.0 USB controller: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller (rev 03)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

Code:
$find /sys/kernel/iommu_groups/ -type l
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:03.0
/sys/kernel/iommu_groups/4/devices/0000:00:14.0
/sys/kernel/iommu_groups/5/devices/0000:00:16.0
/sys/kernel/iommu_groups/6/devices/0000:00:1a.0
/sys/kernel/iommu_groups/7/devices/0000:00:1b.0
/sys/kernel/iommu_groups/8/devices/0000:00:1c.0
/sys/kernel/iommu_groups/9/devices/0000:00:1c.4
/sys/kernel/iommu_groups/10/devices/0000:00:1d.0
/sys/kernel/iommu_groups/11/devices/0000:00:1f.0
/sys/kernel/iommu_groups/11/devices/0000:00:1f.2
/sys/kernel/iommu_groups/11/devices/0000:00:1f.3
/sys/kernel/iommu_groups/12/devices/0000:02:00.0
/sys/kernel/iommu_groups/13/devices/0000:03:00.0

die ganzen Sachen am PCH werden also bei mir gut getrennt, das hängt halt offensichtlich stark von den jeweiligen Quirks ab, die theoretisch bei neueren doch ein bisschen fortentwickelt sein sollten (ich hab Debian-Backports: 4.2.6-3 – ein Update könnte dem Vorhaben bei dir auch mit Qemu nicht schaden ;)). Deine 2 Rootports sind aber def. interessant, v.a. da der VFIO-Community-Manager/Entwickler von Redhat überall das Gegenteil verbreitet :d.
 
Nun habe ich doch die GPU Karten testweise getauscht. Ich habe beide GPUs an den 16 Lanes der CPU angeschlossen, und dies führt zu den unten aufgeführten Erebnis. D.h. es gibt zwar einen weiteren PCIe Root Port, aber der wird in dieselbe IOMMU Gruppe eingeteilt. Nur wenn eine Karte an den separaten x4 Lanes der CPU hängt wird sie dem Root Port mit ID 6 zugeteilt und dieser ist in einer eigenen IOMMU Gruppe. Das heißt man kann den zweiten Root Port nur dann nutzen, wenn man ein Mainboard mit C204, C206 oder C216 in Zusammenhang mit einem Xeon E3/E3v2 nutzt. Da wundert mich aber, weshalb in der Xeon Doku steht, daß auch die E3v3/E3v4 einen Root Port mit ID 6 haben sollen.
Code:
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller [8086:0108] (rev 09)
        Subsystem: ASUSTeK Computer Inc. Device [1043:844d]
[color=red]00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
        Kernel driver in use: pcieport
00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:0105] (rev 09)
        Kernel driver in use: pcieport[/color]
[color=blue]00:06.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port [8086:010d] (rev 09)
        Kernel driver in use: pcieport[/color]
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
        Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:844d]
        Kernel driver in use: mei_me
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
        Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:844d]
        Kernel driver in use: ehci-pci
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
        Subsystem: ASUSTeK Computer Inc. Device [1043:8469]
        Kernel driver in use: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
        Kernel driver in use: pcieport
00:1c.5 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 [8086:1c1a] (rev b5)
        Kernel driver in use: pcieport
00:1c.6 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 [8086:1c1c] (rev b5)
        Kernel driver in use: pcieport
00:1c.7 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 8 [8086:1c1e] (rev b5)
        Kernel driver in use: pcieport
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
        Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:844d]
        Kernel driver in use: ehci-pci
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a5)
00:1f.0 ISA bridge [0601]: Intel Corporation C206 Chipset Family LPC Controller [8086:1c56] (rev 05)
        Subsystem: ASUSTeK Computer Inc. P8B WS Motherboard [1043:844d]
        Kernel driver in use: lpc_ich
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller [8086:1c02] (rev 05)
        Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:844d]
        Kernel driver in use: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)
        Subsystem: ASUSTeK Computer Inc. P8 series motherboard [1043:844d]
[color=red]01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GT218 [GeForce 210] [10de:0a65] (rev a2)
        Subsystem: ASUSTeK Computer Inc. EN210 SILENT [1043:8334]
01:00.1 Audio device [0403]: NVIDIA Corporation High Definition Audio Controller [10de:0be3] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:8334]
        Kernel driver in use: snd_hda_intel
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:854e]
        Kernel driver in use: nvidia
02:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fba] (rev a1)
        Subsystem: ASUSTeK Computer Inc. Device [1043:854e]
        Kernel driver in use: snd_hda_intel[/color]
05:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
        Subsystem: ASUSTeK Computer Inc. Motherboard [1043:8369]
        Kernel driver in use: e1000e
06:00.0 Ethernet controller [0200]: Intel Corporation 82574L Gigabit Network Connection [8086:10d3]
        Subsystem: ASUSTeK Computer Inc. Motherboard [1043:8369]
        Kernel driver in use: e1000e
07:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller [1b21:1042]

Code:
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
[color=red]/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1[/color]
[color=blue]/sys/kernel/iommu_groups/2/devices/0000:00:06.0[/color]
/sys/kernel/iommu_groups/3/devices/0000:00:16.0
/sys/kernel/iommu_groups/4/devices/0000:00:1a.0
/sys/kernel/iommu_groups/5/devices/0000:00:1b.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.0
/sys/kernel/iommu_groups/6/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.6
/sys/kernel/iommu_groups/6/devices/0000:00:1c.7
/sys/kernel/iommu_groups/6/devices/0000:05:00.0
/sys/kernel/iommu_groups/6/devices/0000:06:00.0
/sys/kernel/iommu_groups/6/devices/0000:07:00.0
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1e.0
/sys/kernel/iommu_groups/9/devices/0000:00:1f.0
/sys/kernel/iommu_groups/9/devices/0000:00:1f.2
/sys/kernel/iommu_groups/9/devices/0000:00:1f.3
 
Konntet ihr bisher eine praktische Relevanz feststellen? Ich las es könnte eventuell zu Problemen kommen, manche Nutzer werden das in der Praxis aber nie erleben. Was wären denn die Folgen? Wird die Hardware beschädigt? Datenverlust? Ein Freeze?
 
jdl: Die Root-Hubs könne halt dann einfahch an ihren Ports kein ACS?!
crazy-biscuit: Das kann man dann patchen, effektiv wird das für Grafikkarten im Privateinsatz egal sein, praktisch wird damit halt die Isolierung durch die VM teilweise wieder aufgehoben, was zu obskuren Sicherheitslücken oder Abstürzen führen könnte, wenn virtuelle Maschinen nicht durchgereichte PCIe-Devices über an sie durchgereichte ansprechen.

Intel sagt:
Without ACS, it is possible for a PCIe Endpoint to either accidentally or intentionally (maliciously) write to an invalid/illegal area on a peer endpoint, potentially causing problems.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh