[SRU L][PATCH 0/2] OS cannot boot successfully when enabling VMD in UEFI setup
Jeff Lane
jeffrey.lane at canonical.com
Fri Dec 15 07:38:59 UTC 2023
From: Michael Reed <Michael.Reed at canonical.com>
BugLink: https://bugs.launchpad.net/bugs/2020022
[Impact]
When enabling VMD in UEFI setup, OS cannot boot successfully. And, the panic leads to the system reboot. The following log is shown:
[ 166.605518] DMAR: VT-d detected Invalidation Queue Error: Reason f
[ 166.605522] DMAR: VT-d detected Invalidation Time-out Error: SID ffff
[ 166.612445] DMAR: VT-d detected Invalidation Completion Error: SID ffff
[ 166.612447] DMAR: QI HEAD: UNKNOWN qw0 = 0x0, qw1 = 0x0
[ 166.612449] DMAR: QI PRIOR: UNKNOWN qw0 = 0x0, qw1 = 0x0
...
Additional info:
* The issue happens on both Lenovo SE350 server and Lenovo SR850 v2 server.
Debugging info and fix commit info:
* `git bisect` indicates the offending commit is 6aab5622296b ("PCI: vmd: Clean up domain before enumeration"). The root cause is that VMD driver tries to clear a PCI configuration space range when resetting a VMD domain (https://github.com/torvalds/linux/blob/master/drivers/pci/controller/vmd.c#L544), which leads to the failure.
[Fix]
* Another `git bisect` indicates the fix commit is 20f3337d350c ("x86: don't use REP_GOOD or ERMS for small memory clearing). I confirmed that this commit can fix the issue.
Would it be possible to include the commit 20f3337d350c in Ubuntu 22.04.2/23.10 kernel?
[Test Plan]
Reproduce Step
1.Disable Intel VMD in BIOS settings
System Settings --> Devices and I/O Ports --> Intel VMD technology --> Enable/Disable Intel VMD : Disabled
2.Install OS
3.Enable Intel VMD in BIOS settings
System Settings --> Devices and I/O Ports --> Intel VMD technology --> Enable/Disable Intel VMD : Enabled
4.Rebooting will reproduce this issue
[ Where problems could occur ]
* Lenovo SE350 server and Lenovo SR850 v2 server
* The regression leads to the boot failure (cannot boot info OS successfully).
[ Other Info ]
https://code.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/lunar/+ref/enable_vmd_lp_2020022
Jim Mattson (1):
x86/cpufeatures: Add macros for Intel's new fast rep string features
Linus Torvalds (1):
x86: don't use REP_GOOD or ERMS for small memory clearing
arch/x86/include/asm/cpufeatures.h | 3 ++
arch/x86/lib/memset_64.S | 47 +++++++-----------------------
2 files changed, 14 insertions(+), 36 deletions(-)
--
2.34.1
More information about the kernel-team
mailing list