diff options
| author | Maarten Lankhorst <dev@lankhorst.se> | 2026-09-23 13:15:23 +0200 |
|---|---|---|
| committer | Maarten Lankhorst <dev@lankhorst.se> | 2026-09-25 19:55:38 +0200 |
| commit | 70e3cf8a64413d7a4f617c2f95d369e7e501376a (patch) | |
| tree | f10f75c6e48babb121aa51befb3302d7850b1822 /tools/lib/python | |
| parent | 7890c29092c8ed55a58f84f9f0cd71ac730db1af (diff) | |
drm/i915/gt: Fix selftests on PREEMPT_RT
The engine->busyness() callbacks called from the selftests are on PREEMPT_RT
not safe with preemption disabled, because all spinlock_t locks
becomes sleeping locks on PREEMPT_RT and must not be acquired with disabled
preemption.
This is also a problem for perf events, where we disable the busyness events
on PREEMPT_RT, as they're run from hardirq context.
Previous attempts to fix this failed, so convert the selftest code to read
engine->busyness() with migrate_disable() instead of preempt_disable() to
prevent selftest failures on PREEMPT_RT.
By disabling migration, we prevent moving the selftests between cores,
and should decrease the jitter in both the idle cases and busy cases,
compared to no prevention at all.
Since interrupts were not disabled, some jitter may still occur, but it
should hopefully be less with migration disabled.
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Link: https://patch.msgid.link/20260923111518.310430-12-dev@lankhorst.se
Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions
