diff options
| author | Andrea Righi <[email protected]> | 2025-04-22 08:26:32 +0000 |
|---|---|---|
| committer | Tejun Heo <[email protected]> | 2025-04-22 19:27:50 +0000 |
| commit | 18853ba782bef65fc81ef2b3370382e5b479c5eb (patch) | |
| tree | 9501674581d46536f3c412fcf747a86737533ffc /drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | |
| parent | sched_ext: Mark SCX_OPS_HAS_CGROUP_WEIGHT for deprecation (diff) | |
| download | kernel-18853ba782bef65fc81ef2b3370382e5b479c5eb.tar.gz kernel-18853ba782bef65fc81ef2b3370382e5b479c5eb.zip | |
sched_ext: Track currently locked rq
Some kfuncs provided by sched_ext may need to operate on a struct rq,
but they can be invoked from various contexts, specifically, different
scx callbacks.
While some of these callbacks are invoked with a particular rq already
locked, others are not. This makes it impossible for a kfunc to reliably
determine whether it's safe to access a given rq, triggering potential
bugs or unsafe behaviors, see for example [1].
To address this, track the currently locked rq whenever a sched_ext
callback is invoked via SCX_CALL_OP*().
This allows kfuncs that need to operate on an arbitrary rq to retrieve
the currently locked one and apply the appropriate action as needed.
[1] https://lore.kernel.org/lkml/[email protected]/
Suggested-by: Tejun Heo <[email protected]>
Signed-off-by: Andrea Righi <[email protected]>
Acked-by: Changwoo Min <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c')
0 files changed, 0 insertions, 0 deletions
