diff options
author | 2025-04-22 10:26:32 +0200 | |
---|---|---|
committer | 2025-04-22 09:27:50 -1000 | |
commit | 18853ba782bef65fc81ef2b3370382e5b479c5eb (patch) | |
tree | 9501674581d46536f3c412fcf747a86737533ffc /scripts/lib/kdoc/kdoc_files.py | |
parent | sched_ext: Mark SCX_OPS_HAS_CGROUP_WEIGHT for deprecation (diff) | |
download | wireguard-linux-18853ba782bef65fc81ef2b3370382e5b479c5eb.tar.xz wireguard-linux-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/20250325140021.73570-1-arighi@nvidia.com/
Suggested-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Acked-by: Changwoo Min <changwoo@igalia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_files.py')
0 files changed, 0 insertions, 0 deletions