diff options
Diffstat (limited to 'kernel/sched/ext/internal.h')
| -rw-r--r-- | kernel/sched/ext/internal.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/kernel/sched/ext/internal.h b/kernel/sched/ext/internal.h index ad98e3469b12..ab1dfad28cb5 100644 --- a/kernel/sched/ext/internal.h +++ b/kernel/sched/ext/internal.h @@ -400,8 +400,9 @@ struct sched_ext_ops { * @p: task running currently * * This operation is called every 1/HZ seconds on CPUs which are - * executing an SCX task. Setting @p->scx.slice to 0 will trigger an - * immediate dispatch cycle on the CPU. + * executing an SCX task. Setting a slice of 0 for @p with + * scx_bpf_task_set_slice() will trigger an immediate dispatch cycle on + * the CPU. */ void (*tick)(struct task_struct *p); @@ -1104,6 +1105,18 @@ struct scx_event_stats { s64 SCX_EV_REFILL_SLICE_DFL; /* + * The number of times an out-of-band slice request exceeded the maximum + * representable value and was clamped. + */ + s64 SCX_EV_SLICE_CLAMPED; + + /* + * The number of times a slice extension was denied because the + * scheduler lacked baseline cpu access on the task's cpu. + */ + s64 SCX_EV_SLICE_DENIED; + + /* * The total duration of bypass modes in nanoseconds. */ s64 SCX_EV_BYPASS_DURATION; @@ -1153,6 +1166,8 @@ struct scx_event_stats { SCX_EVENT(SCX_EV_REENQ_IMMED); \ SCX_EVENT(SCX_EV_REENQ_LOCAL_REPEAT); \ SCX_EVENT(SCX_EV_REFILL_SLICE_DFL); \ + SCX_EVENT(SCX_EV_SLICE_CLAMPED); \ + SCX_EVENT(SCX_EV_SLICE_DENIED); \ SCX_EVENT(SCX_EV_BYPASS_DURATION); \ SCX_EVENT(SCX_EV_BYPASS_DISPATCH); \ SCX_EVENT(SCX_EV_BYPASS_ACTIVATE); \ |
