summaryrefslogtreecommitdiff
path: root/include/linux/timerqueue.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2026-10-26 14:17:32 -1000
committerTejun Heo <tj@kernel.org>2026-10-27 09:40:56 -1000
commit2e68cfad33faad70187df89b4c9f93ae439b7946 (patch)
tree3d22e2e9bdad415872ca357f97990dcf22b0814d /include/linux/timerqueue.h
parentb07a7450f6ef98c79ebd450a92fc4bb6b8f1e02e (diff)
sched_ext: Pack scx_ent_flags' multi-bit fields at the top
The following patches add a flag for a kernel-owned slice to scx_ent_flags. The two 3-bit fields, the task state at bits 8 to 10 and the reenqueue reason at bits 12 to 14, sit right above the single-bit flags, so the new flag would have to take bit 11 or 15, out of sequence with the rest. Pack the fields at the top of the word, below SCX_TASK_CURSOR, the state at bits 25 to 27 and the reason at bits 28 to 30, so that the single-bit flags continue from bit 8. The renumbering changes the values a BPF scheduler reads from p->scx.flags. Nothing in the kernel or the in-tree schedulers hardcodes the numbers. The enum ABI table in tools/sched_ext/include/scx/enums_abi.autogen.h, kept for repairing enum values that a kernel's BTF truncates, is regenerated for the two fields. In the scx repository, scx_eevdf tests SCX_TASK_REENQ_IMMED and SCX_TASK_REENQ_PREEMPTED against SCX_TASK_REENQ_REASON_MASK. Those three names belong in its load-time enum table, so that they follow the running kernel. No behavior change. Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Andrea Righi <arighi@nvidia.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions