Hello,
I am experiencing an issue where the xe driver fails to initialize SR-IOV virtual functions automatically on boot, despite having the correct kernel parameters configured. I have followed the PVE 9.1 installation steps, but the VFs remain unavailable until I manually intervene.
Environment:
OS: Proxmox VE 9.1 (Kernel: 6.17.13-1-pve)
Hardware: Raptor Lake-P [Iris Xe Graphics]
Configuration:
My GRUB cmdline includes the necessary parameters:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on xe.max_vfs=7 xe.force_probe=0xa7a0 module_blacklist=i915 initcall_blacklist=sysfb_init pcie_aspm=off"
The Issue:
On boot, the VFs are not created. However, if I manually run modprobe xe (if not already loaded) followed by writing to sriov_numvfs, the VFs initialize perfectly.
Steps to Reproduce:
Boot the system.
Check lspci | grep VGA -> Only the physical function (00:02.0) is visible.
Manually run:
modprobe xe
echo 7 | tee /sys/bus/pci/devices/0000:00:02.0/sriov_numvfs
VFs are created successfully.
Expected Behavior:
The xe driver should initialize SR-IOV VFs automatically during the boot sequence based on the xe.max_vfs=7 parameter.
Actual Behavior:
The driver does not load, sriov_numvfs interface does not trigger the creation of VFs until a manual write operation is performed after the kernel has finished booting.
root@caxey-pve:~# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1
root@caxey-pve:~# echo 7 | tee /sys/bus/pci/devices/0000:00:02.0/sriov_numvfs
7
tee: '/sys/bus/pci/devices/0000:00:02.0/sriov_numvfs': No such file or directory
root@caxey-pve:~# modprobe xe
root@caxey-pve:~# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1
root@caxey-pve:~# echo 7 | tee /sys/bus/pci/devices/0000:00:02.0/sriov_numvfs
7
root@caxey-pve:~# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.1 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.2 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.3 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.4 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.5 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.6 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
00:02.7 VGA compatible controller: Intel Corporation Raptor Lake-P [Iris Xe Graphics](rev 04)
02:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
Hello,
I am experiencing an issue where the xe driver fails to initialize SR-IOV virtual functions automatically on boot, despite having the correct kernel parameters configured. I have followed the PVE 9.1 installation steps, but the VFs remain unavailable until I manually intervene.
Environment:
OS: Proxmox VE 9.1 (Kernel: 6.17.13-1-pve)
Hardware: Raptor Lake-P [Iris Xe Graphics]
Configuration:
My GRUB cmdline includes the necessary parameters:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on xe.max_vfs=7 xe.force_probe=0xa7a0 module_blacklist=i915 initcall_blacklist=sysfb_init pcie_aspm=off"
The Issue:
On boot, the VFs are not created. However, if I manually run modprobe xe (if not already loaded) followed by writing to sriov_numvfs, the VFs initialize perfectly.
Steps to Reproduce:
Boot the system.
Check lspci | grep VGA -> Only the physical function (00:02.0) is visible.
Manually run:
VFs are created successfully.
Expected Behavior:
The xe driver should initialize SR-IOV VFs automatically during the boot sequence based on the xe.max_vfs=7 parameter.
Actual Behavior:
The driver does not load, sriov_numvfs interface does not trigger the creation of VFs until a manual write operation is performed after the kernel has finished booting.