KVM PCI passthrough problems after kernel v4.2
From: Juhani Rautiainen
Date: Thu Nov 12 2015 - 16:36:55 EST
Hi!
I've been using KVM PCI passthrough with a dual-port NIC for over a
year. I just upgraded to v4.3 from v4.1.4 and PCI passthrough stopped
working. I checked with v4.1.9 and it still works there. Version 4.2
seems to point after which my system doesn't work. How can I help to
narrow down the cause of the problem? I checked the intel-iommu.c and
there seem to have been lots of changes between 4.1.9 and 4.2 in
drivers/iommu/intel-iommu.c. My motherboard is Asus P8C WS which has
Intel C216 chipset. CPU is Intel I5-3470. From v4.2 onwards
passthrough fails with:
pci-stub 0000:02:00.0: kvm assign device failed ret -22.
This is grep from dmesg. First is non-working v4.2 then working v4.1.9:
Nov 12 23:14:06 base kernel: Linux version 4.2.0 (root@base) (gcc
version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 12
23:04:04 EET 2015
Nov 12 23:14:06 base kernel: ACPI: DMAR 0x00000000DA99F4A8 0000B8 (v01
INTEL SNB 00000001 INTL 00000001)
Nov 12 23:14:06 base kernel: DMAR: Host address width 36
Nov 12 23:14:06 base kernel: DMAR: DRHD base: 0x000000fed90000 flags: 0x0
Nov 12 23:14:06 base kernel: DMAR: dmar0: reg_base_addr fed90000 ver
1:0 cap c0000020e60262 ecap f0101a
Nov 12 23:14:06 base kernel: DMAR: DRHD base: 0x000000fed91000 flags: 0x1
Nov 12 23:14:06 base kernel: DMAR: dmar1: reg_base_addr fed91000 ver
1:0 cap c9008020660262 ecap f010da
Nov 12 23:14:06 base kernel: DMAR: RMRR base: 0x000000da911000 end:
0x000000da922fff
Nov 12 23:14:06 base kernel: DMAR: RMRR base: 0x000000dd000000 end:
0x000000df1fffff
Nov 12 23:14:06 base kernel: DMAR-IR: IOAPIC id 2 under DRHD base
0xfed91000 IOMMU 1
Nov 12 23:14:06 base kernel: DMAR-IR: HPET id 0 under DRHD base 0xfed91000
Nov 12 23:14:06 base kernel: DMAR-IR: Enabled IRQ remapping in xapic mode
Nov 12 23:14:06 base kernel: DMAR: No ATSR found
Nov 12 23:14:06 base kernel: DMAR: dmar0: Using Queued invalidation
Nov 12 23:14:06 base kernel: DMAR: dmar1: Using Queued invalidation
Nov 12 23:14:06 base kernel: DMAR: Setting RMRR:
Nov 12 23:14:06 base kernel: DMAR: Setting identity map for device
0000:00:02.0 [0xdd000000 - 0xdf1fffff]
Nov 12 23:14:06 base kernel: DMAR: Setting identity map for device
0000:00:14.0 [0xda911000 - 0xda922fff]
Nov 12 23:14:06 base kernel: DMAR: Setting identity map for device
0000:00:1a.0 [0xda911000 - 0xda922fff]
Nov 12 23:14:06 base kernel: DMAR: Setting identity map for device
0000:00:1d.0 [0xda911000 - 0xda922fff]
Nov 12 23:14:06 base kernel: DMAR: Prepare 0-16MiB unity mapping for LPC
Nov 12 23:14:06 base kernel: DMAR: Setting identity map for device
0000:00:1f.0 [0x0 - 0xffffff]
Nov 12 23:14:06 base kernel: DMAR: Intel(R) Virtualization Technology
for Directed I/O
Nov 12 23:14:06 base kernel: [drm] DMAR active, disabling use of stolen memory
Nov 12 23:15:31 base kernel: pci-stub 0000:02:00.0: kvm assign device
failed ret -22
Nov 12 23:17:38 base kernel: Linux version 4.1.9 (root@base) (gcc
version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 12
22:10:21 EET 2015
Nov 12 23:17:38 base kernel: ACPI: DMAR 0x00000000DA99F4A8 0000B8 (v01
INTEL SNB 00000001 INTL 00000001)
Nov 12 23:17:38 base kernel: dmar: Host address width 36
Nov 12 23:17:38 base kernel: dmar: DRHD base: 0x000000fed90000 flags: 0x0
Nov 12 23:17:38 base kernel: dmar: IOMMU 0: reg_base_addr fed90000 ver
1:0 cap c0000020e60262 ecap f0101a
Nov 12 23:17:38 base kernel: dmar: DRHD base: 0x000000fed91000 flags: 0x1
Nov 12 23:17:38 base kernel: dmar: IOMMU 1: reg_base_addr fed91000 ver
1:0 cap c9008020660262 ecap f010da
Nov 12 23:17:38 base kernel: dmar: RMRR base: 0x000000da911000 end:
0x000000da922fff
Nov 12 23:17:38 base kernel: dmar: RMRR base: 0x000000dd000000 end:
0x000000df1fffff
Nov 12 23:17:38 base kernel: DMAR: No ATSR found
Nov 12 23:17:38 base kernel: IOMMU: dmar0 using Queued invalidation
Nov 12 23:17:38 base kernel: IOMMU: dmar1 using Queued invalidation
Nov 12 23:17:38 base kernel: [drm] DMAR active, disabling use of stolen memory
Nov 12 23:18:55 base kernel: pci-stub 0000:02:00.0: kvm assign device
Nov 12 23:18:55 base kernel: pci-stub 0000:02:00.1: kvm assign device
Best Regards,
Juhani
--
Juhani Rautiainen jrauti@xxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/