summaryrefslogtreecommitdiff
path: root/kernel/sched/ext/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/ext/internal.h')
-rw-r--r--kernel/sched/ext/internal.h19
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); \