[pve-devel] [PATCH pve-kernel] d/rules: kconfig: do not enable intel_iommu by default

Thomas Lamprecht t.lamprecht at proxmox.com
Fri May 13 11:31:42 CEST 2022

Am 5/13/22 um 10:57 schrieb Stoiko Ivanov:
> enabling this causes quite a few issues with older hardware
> (hp g8, and the like) - and most of our guides do call for enabling it
> where needed (pci passthrough).
> the setting was off in the 5.13 series.
> following reports of disabling intel_iommu explicitly fixing the
> issues in our community forum:
> https://forum.proxmox.com/threads/.109368
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
> tested by installing on a HP G8 (and starting a minimal VM and running
> stress-ng -d 2 for a minute), and on 2 VMs
> alternatively we could document this in the 7.2 release notes and ask
> users of problematic hardware to set this explicitly

This all resembles quite a bit the switch from nested KVM to be enabled,
which we caught upfront and actively disabled to avoid trouble on migration
due to QEMU not being yet ready for that change, and only enabled it in the
next major release (6.0 IIRC) where we could be sure that a new enough QEMU
is available.

The difference here is that:
* we may never be sure that all setups out there support IOMMU, at least not
  if we don't get another major divider like the switch from 32bit to 64bit

* we already switched it on now, sow disabling it may also break some setups
  that never did so manually.

FWIW, we could also disable this dynamically with a modprobe cfg file that
disables it if:
- not manually enabled already (grep for that)
- an older CPU (family) is present, where the cutoff would need to be

No hard feelings for that, technically simpler would be the KConfig switch
back of yours, but not sure if best for the growing use of IOMMU and modern

More information about the pve-devel mailing list