diff options
| author | Tejun Heo <tj@kernel.org> | 2026-04-16 06:41:15 -1000 |
|---|---|---|
| committer | Tejun Heo <tj@kernel.org> | 2026-04-16 07:31:07 -1000 |
| commit | a6628db4f6af2e61922b3b4a5640e03924b26a8e (patch) | |
| tree | f75410c4b4e432006ee65c8ca6d06b7edc923276 /rust/zerocopy/src/pointer/git@git.tavy.me:linux-stable.git | |
| parent | 60a59eaca71b0a8db299830da72d4c3effa78e79 (diff) | |
sched_ext: scx_qmap: move task_ctx into a BPF arena slab
Arena simplifies verification and allows more natural programming.
Convert scx_qmap to arena as preparation for further sub-sched work.
Allocate per-task context from an arena slab instead of storing it
directly in task_storage. task_ctx_stor now holds an arena pointer to
the task's slab entry. Free entries form a singly-linked list protected
by bpf_res_spin_lock; slab exhaustion triggers scx_bpf_error().
The slab size is configurable via the new -N option (default 16384).
Also add bpf_res_spin_lock/unlock declarations to common.bpf.h.
Scheduling logic unchanged.
v2: Add task_ctx_t typedef for struct task_ctx __arena (Emil).
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Diffstat (limited to 'rust/zerocopy/src/pointer/git@git.tavy.me:linux-stable.git')
0 files changed, 0 insertions, 0 deletions
