An Error Message appears when enabling Intel® DSA (Data Streaming Accelerator).
Behavior: When executing the command dmesg | grep -i idxd
Error Message: Unable to turn on SVA feature
Intel® DSA (Data Streaming Accelerator) depends on a series of drivers present on the OS distribution to be able to function properly. As described on Intel® Data Streaming Accelerator User Guide page 15, Intel® DSA (Data Streaming Accelerator) was tested on the following OS’s:
Vendor | Intel® DSA Driver |
SUSE Linux* Enterprise Server | SLES 15 SP4 |
Redhat Enterprise Linux* | RHEL 8.7 & 9.1 |
Ubuntu* | Ubuntu 22.1 |
Visit the vendor website for more information about distributions and embedded Kernel* drivers on a specific distribution.
To identify the issue's root cause, we need to analyze the information from Intel® DSA (Data Streaming Accelerator) and Linux commands together, looking for inconsistencies or missing elements related to VT-d and PRICtl functionalities, as follows:
One of the requirements for Intel® DSA (Data Streaming Accelerator) is the option VT-D enabled on the BIOS.
dmesg -t | grep ACPI | grep DMAR
BIOS Enabled Options
On the BIOS settings, please make sure the following options are correct:
enabled Opt-Out Illegal MSI Mitigation
enabled PRS Capability for PCIe
disabled Limit CPU PA to 46 bits
Note | Consult with the system or motherboard documentation for specific BIOS settings related to VT-d and VT-x and make sure no additional config is needed on BIOS level. |
To check the driver status on the OS, execute the following commands:
journalctl | grep 'Kernel command line'
Look if the kernel parameters for Intel® DSA are loaded on the bootloader:
To check if the kernel parameters are loaded, execute the following:
cat /proc/cmdline
The output will show the intel_iommu=on,sm_on included on the Kernel*.
Ubuntu Distributions
grep -i vtd /etc/default/grub
and
grep -i vtx /etc/default/grub
Check for if the options listed below are set to off. That might disable VT-d functionalities.
If so, turn options to on
like intel_vtd.active=off
intel_vtd_cmt_mode=off
How to check if Intel® DSA (Data Streaming Accelerator) is enabled on the OS distribution
Run: dmesg -t | grep "idxd"
The output should be like the following:
Note: When running dmesg -t | grep "idxd" if you see Unable to turn on SVA feature, VT-d scalable mode may not be enabled by default on the kernel and bootloader.
Solution: Include the parameters intel_iommu=on,sm_on into the kernel and bootloader to enable VT-d scalable mode.
Depending on your Linux OS distribution the process to add a new parameter on the Kernel e/or Bootloader will be different. Consult with your Linux* OS vendor for more details.
To check if the parameters are included on the bootloader, run:
cat /proc/cmdline
How to include parameters on the Kerner/bootloader:
Note: The following example is based on a RedHat* 9 distribution:
nano /boot/loader/entries/edbb445aff2d4cf79085273ad1b8b6bf-6.9.4-1.el9.elrepo.x86_64.conf
For Ubuntu* Distributions:
For complete details, review the Intel® Data Streaming Accelerator User Guide.