xref: /linux/Documentation/ABI/testing/sysfs-driver-intel-xe-sriov (revision 53597deca0e38c30e6cd4ba2114fa42d2bcd85bb)
1What:		/sys/bus/pci/drivers/xe/.../sriov_admin/
2Date:		October 2025
3KernelVersion:	6.19
4Contact:	intel-xe@lists.freedesktop.org
5Description:
6		This directory appears for the particular Intel Xe device when:
7
8		 - device supports SR-IOV, and
9		 - device is a Physical Function (PF), and
10		 - driver support for the SR-IOV PF is enabled on given device.
11
12		This directory is used as a root for all attributes required to
13		manage both Physical Function (PF) and Virtual Functions (VFs).
14
15
16What:		/sys/bus/pci/drivers/xe/.../sriov_admin/pf/
17Date:		October 2025
18KernelVersion:	6.19
19Contact:	intel-xe@lists.freedesktop.org
20Description:
21		This directory holds attributes related to the SR-IOV Physical
22		Function (PF).
23
24
25What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf1/
26What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf2/
27What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<N>/
28Date:		October 2025
29KernelVersion:	6.19
30Contact:	intel-xe@lists.freedesktop.org
31Description:
32		These directories hold attributes related to the SR-IOV Virtual
33		Functions (VFs).
34
35		Note that the VF number <N> is 1-based as described in PCI SR-IOV
36		specification as the Xe driver follows that naming schema.
37
38		There could be "vf1", "vf2" and so on, up to "vf<N>", where <N>
39		matches the value of the "sriov_totalvfs" attribute.
40
41
42What:		/sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/exec_quantum_ms
43What:		/sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/preempt_timeout_us
44What:		/sys/bus/pci/drivers/xe/.../sriov_admin/pf/profile/sched_priority
45What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/exec_quantum_ms
46What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/preempt_timeout_us
47What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/sched_priority
48Date:		October 2025
49KernelVersion:	6.19
50Contact:	intel-xe@lists.freedesktop.org
51Description:
52		These files expose scheduling parameters for the PF and its VFs, and
53		are visible only on Intel Xe platforms that use time-sliced GPU sharing.
54		They can be changed even if VFs are enabled and running and reflect the
55		settings of all tiles/GTs assigned to the given function.
56
57		exec_quantum_ms: (RW) unsigned integer
58			The GT execution quantum (EQ) in [ms] for the given function.
59			Actual quantum value might be aligned per HW/FW requirements.
60
61			Default is 0 (unlimited).
62
63		preempt_timeout_us: (RW) unsigned integer
64			The GT preemption timeout in [us] of the given function.
65			Actual timeout value might be aligned per HW/FW requirements.
66
67			Default is 0 (unlimited).
68
69		sched_priority: (RW/RO) string
70			The GT scheduling priority of the given function.
71
72			"low" - function will be scheduled on the GPU for its EQ/PT
73				only if function has any work already submitted.
74
75			"normal" - functions will be scheduled on the GPU for its EQ/PT
76				irrespective of whether it has submitted a work or not.
77
78			"high" - function will be scheduled on the GPU for its EQ/PT
79				in the next time-slice after the current one completes
80				and function has a work submitted.
81
82			Default is "low".
83
84			When read, this file will display the current and available
85			scheduling priorities. The currently active priority level will
86			be enclosed in square brackets, like:
87
88				[low] normal high
89
90			This file can be read-only if changing the priority is not
91			supported.
92
93		Writes to these attributes may fail with errors like:
94			-EINVAL if provided input is malformed or not recognized,
95			-EPERM if change is not applicable on given HW/FW,
96			-EIO if FW refuses to change the provisioning.
97
98		Reads from these attributes may fail with:
99			-EUCLEAN if value is not consistent across all tiles/GTs.
100
101
102What:		/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/exec_quantum_ms
103What:		/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/preempt_timeout_us
104What:		/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/sched_priority
105Date:		October 2025
106KernelVersion:	6.19
107Contact:	intel-xe@lists.freedesktop.org
108Description:
109		These files allows bulk reconfiguration of the scheduling parameters
110		of the PF or VFs and are available only for Intel Xe platforms with
111		GPU sharing based on the time-slice basis. These scheduling parameters
112		can be changed even if VFs are enabled and running.
113
114		exec_quantum_ms: (WO) unsigned integer
115			The GT execution quantum (EQ) in [ms] to be applied to all functions.
116			See sriov_admin/{pf,vf<N>}/profile/exec_quantum_ms for more details.
117
118		preempt_timeout_us: (WO) unsigned integer
119			The GT preemption timeout (PT) in [us] to be applied to all functions.
120			See sriov_admin/{pf,vf<N>}/profile/preempt_timeout_us for more details.
121
122		sched_priority: (WO) string
123			The GT scheduling priority to be applied for all functions.
124			See sriov_admin/{pf,vf<N>}/profile/sched_priority for more details.
125
126		Writes to these attributes may fail with errors like:
127			-EINVAL if provided input is malformed or not recognized,
128			-EPERM if change is not applicable on given HW/FW,
129			-EIO if FW refuses to change the provisioning.
130
131
132What:		/sys/bus/pci/drivers/xe/.../sriov_admin/.bulk_profile/vram_quota
133What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/profile/vram_quota
134Date:		February 2026
135KernelVersion:	7.0
136Contact:	intel-xe@lists.freedesktop.org
137Description:
138		These files allow to perform initial VFs VRAM provisioning prior to VFs
139		enabling or to change VFs VRAM provisioning once the VFs are enabled.
140		Any non-zero initial VRAM provisioning will block VFs auto-provisioning.
141		Without initial VRAM provisioning those files will show result of the
142		VRAM auto-provisioning performed by the PF once the VFs are enabled.
143		Once the VFs are disabled, all VRAM provisioning will be released.
144		These files are visible only on discrete Intel Xe platforms with VRAM
145		and are writeable only if dynamic VFs VRAM provisioning is supported.
146
147		.bulk_profile/vram_quota: (WO) unsigned integer
148			The amount of the provisioned VRAM in [bytes] for each VF.
149			Actual quota value might be aligned per HW/FW requirements.
150
151		profile/vram_quota: (RW) unsigned integer
152			The amount of the provisioned VRAM in [bytes] for this VF.
153			Actual quota value might be aligned per HW/FW requirements.
154
155			Default is 0 (unprovisioned).
156
157		Writes to these attributes may fail with errors like:
158			-EINVAL if provided input is malformed or not recognized,
159			-EPERM if change is not applicable on given HW/FW,
160			-EIO if FW refuses to change the provisioning.
161
162
163What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/stop
164Date:		October 2025
165KernelVersion:	6.19
166Contact:	intel-xe@lists.freedesktop.org
167Description:
168		This file allows to control scheduling of the VF on the Intel Xe GPU
169		platforms. It allows to implement custom policy mechanism in case VFs
170		are misbehaving or triggering adverse events above defined thresholds.
171
172		stop: (WO) bool
173			All GT executions of given function shall be immediately stopped.
174			To allow scheduling this VF again, the VF FLR must be triggered.
175
176		Writes to this attribute may fail with errors like:
177			-EINVAL if provided input is malformed or not recognized,
178			-EPERM if change is not applicable on given HW/FW,
179			-EIO if FW refuses to change the scheduling.
180
181
182What:		/sys/bus/pci/drivers/xe/.../sriov_admin/pf/device
183What:		/sys/bus/pci/drivers/xe/.../sriov_admin/vf<n>/device
184Date:		October 2025
185KernelVersion:	6.19
186Contact:	intel-xe@lists.freedesktop.org
187Description:
188		These are symlinks to the underlying PCI device entry representing
189		given Xe SR-IOV function. For the PF, this link is always present.
190		For VFs, this link is present only for currently enabled VFs.
191