summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/Kconfig.profile
blob: e07517d120e09d6cd3f7ccdda12fa59497f1ab6e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# SPDX-License-Identifier: GPL-2.0-only
config DRM_XE_JOB_TIMEOUT_MAX
	int "Hard upper limit for job timeout (ms)"
	default 10000 # milliseconds
	help
	  Absolute upper bound (in milliseconds) for the per-engine-class job
	  timeout. This is the maximum value that can be written to the sysfs
	  job_timeout_ms knob, regardless of privileges. To raise this ceiling,
	  increase this value and rebuild the kernel.
config DRM_XE_JOB_TIMEOUT_MIN
	int "Hard lower limit for job timeout (ms)"
	default 1 # milliseconds
	help
	  Absolute lower bound (in milliseconds) for the per-engine-class job
	  timeout. This is the minimum value that can be written to the sysfs
	  job_timeout_ms knob, regardless of privileges.

	  Note: the job timeout default (5000 ms) is hardcoded in the driver
	  and is not configurable here. Use the sysfs job_timeout_ms knob at
	  runtime to change the engine-class default.
config DRM_XE_TIMESLICE_MAX
	int "Hard upper limit for timeslice duration (us)"
	default 10000000 # microseconds
	help
	  Absolute upper bound (in microseconds) for the timeslice duration.
	  This caps both the sysfs timeslice_duration_us knob and the value
	  accepted via the DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE UAPI for
	  processes with CAP_SYS_NICE when DRM_XE_ENABLE_SCHEDTIMEOUT_LIMIT
	  is enabled.
config DRM_XE_TIMESLICE_MIN
	int "Hard lower limit for timeslice duration (us)"
	default 1 # microseconds
	help
	  Absolute lower bound (in microseconds) for the timeslice duration.
	  This caps both the sysfs timeslice_duration_us knob and the value
	  accepted via the DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE UAPI for
	  processes with CAP_SYS_NICE when DRM_XE_ENABLE_SCHEDTIMEOUT_LIMIT
	  is enabled.
config DRM_XE_PREEMPT_TIMEOUT
	int "Default preempt timeout (us, jiffy granularity)"
	default 640000 # microseconds
	help
	  Initial per-engine-class preemption timeout (in microseconds). This
	  is the value the driver programs at boot; it can be changed at
	  runtime via the sysfs preempt_timeout_us knob.

	  This is how long the driver waits for the current context to reach
	  an arbitration point and yield the GPU voluntarily when a
	  higher-priority context becomes runnable. If the context does not
	  yield before the timer expires, the HW is reset to allow the
	  higher-priority context to execute.

	  The range userspace may write via sysfs is bounded by
	  DRM_XE_PREEMPT_TIMEOUT_MIN and DRM_XE_PREEMPT_TIMEOUT_MAX.
config DRM_XE_PREEMPT_TIMEOUT_MAX
	int "Hard upper limit for preempt timeout (us)"
	default 10000000 # microseconds
	help
	  Absolute upper bound (in microseconds) for the per-engine-class
	  preemption timeout. This is the maximum value that can be written to
	  the sysfs preempt_timeout_us knob, regardless of privileges.
config DRM_XE_PREEMPT_TIMEOUT_MIN
	int "Hard lower limit for preempt timeout (us)"
	default 1 # microseconds
	help
	  Absolute lower bound (in microseconds) for the per-engine-class
	  preemption timeout. This is the minimum value that can be written to
	  the sysfs preempt_timeout_us knob, regardless of privileges.
config DRM_XE_ENABLE_SCHEDTIMEOUT_LIMIT
	bool "Default configuration of limitation on scheduler timeout"
	default y
	help
	  Configures the enablement of limitation on scheduler timeout
	  to apply to applicable user. For elevated user, all above MIN
	  and MAX values will apply when this configuration is enable to
	  apply limitation. By default limitation is applied.