FS#53609 - [linux] Can't boot without iommu=soft

Attached to Project: Arch Linux
Opened by Viachaslau (khalikin) - Saturday, 08 April 2017, 02:23 GMT
Last edited by Jan de Groot (JGC) - Friday, 27 October 2017, 08:54 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description: I have a HP ProBook 455 G2 which has an AMD A8-7100 Radeon R5, 8 Compute Cores 4C+4G. System started the boot process and after some time I got following recurring error messages:
AMD-Vi: Completion-Wait loop timed out
and
AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=...

It corrupted my root partition.
If to boot with ioomu=soft kernel parameter or if disable a discrete graphics card from BIOS, then booting fine.

Additional info:
Kernel (4.8.*-4.10.8) and amdgpu driver installed from official repositories.
Hardware info attached.
   lscpu (1.3 KiB)
   lspci (2.6 KiB)
   dmidecode (8.7 KiB)
This task depends upon

Closed by  Jan de Groot (JGC)
Friday, 27 October 2017, 08:54 GMT
Reason for closing:  Fixed
Comment by Giacomo Longo (g4b1bb097) - Tuesday, 18 July 2017, 18:47 GMT
Identical problem on an HP Pavilion 15-aw010nl
Dmesg shows: AMD-Vi: Completion-Wait loop timed out
Boot is only possible using "iommu=soft" as boot option, in Arch and Fedora 26.
The problem is present on linux, linux-lts and linux-mainline
   lspci (2.2 KiB)
   lscpu (1.3 KiB)
   dmidecode (8.6 KiB)
Comment by Viachaslau (khalikin) - Friday, 27 October 2017, 05:12 GMT
Fixed in kernel v. 4.13:
[ 2.808301] AMD-Vi: IOMMU performance counters supported
[ 2.808304] AMD-Vi: Applying ATS write check workaround for IOMMU at 0000:00:00.2
[ 2.808699] iommu: Adding device 0000:00:01.0 to group 0
[ 2.808721] iommu: Using direct mapping for device 0000:00:01.0
[ 2.808740] iommu: Adding device 0000:00:01.1 to group 0
[ 2.808794] iommu: Adding device 0000:00:02.0 to group 1
[ 2.808812] iommu: Adding device 0000:00:02.1 to group 1
[ 2.808895] iommu: Adding device 0000:00:03.0 to group 2
[ 2.808913] iommu: Adding device 0000:00:03.2 to group 2
[ 2.808931] iommu: Adding device 0000:00:03.4 to group 2
[ 2.809003] iommu: Adding device 0000:00:04.0 to group 3
[ 2.809142] iommu: Adding device 0000:00:10.0 to group 4
[ 2.809211] iommu: Adding device 0000:00:11.0 to group 5
[ 2.809293] iommu: Adding device 0000:00:12.0 to group 6
[ 2.809309] iommu: Adding device 0000:00:12.2 to group 6
[ 2.809388] iommu: Adding device 0000:00:13.0 to group 7
[ 2.809405] iommu: Adding device 0000:00:13.2 to group 7
[ 2.809491] iommu: Adding device 0000:00:14.0 to group 8
[ 2.809509] iommu: Adding device 0000:00:14.2 to group 8
[ 2.809526] iommu: Adding device 0000:00:14.3 to group 8
[ 2.809597] iommu: Adding device 0000:00:14.4 to group 9
[ 2.809667] iommu: Adding device 0000:00:14.5 to group 10
[ 2.809768] iommu: Adding device 0000:00:18.0 to group 11
[ 2.809787] iommu: Adding device 0000:00:18.1 to group 11
[ 2.809805] iommu: Adding device 0000:00:18.2 to group 11
[ 2.809823] iommu: Adding device 0000:00:18.3 to group 11
[ 2.809840] iommu: Adding device 0000:00:18.4 to group 11
[ 2.809857] iommu: Adding device 0000:00:18.5 to group 11
[ 2.809903] iommu: Adding device 0000:01:00.0 to group 1
[ 2.809980] iommu: Adding device 0000:02:00.0 to group 2
[ 2.810734] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 2.813278] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).

Loading...