| # 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. |