On Fri, Jan 17, 2025 at 12:15:39AM +0900, Changwoo Min wrote:
Add a core event, SCX_EVENT_CNTD_RUN_WO_ENQ, which represents how many
times a task is continued to run without ops.enqueue() when SCX_OPS_ENQ_LAST
is not set.
Signed-off-by: Changwoo Min <changwoo@xxxxxxxxxx>
---
kernel/sched/ext.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
index 8054e4e5ed0c..909f12a41934 100644
--- a/kernel/sched/ext.c
+++ b/kernel/sched/ext.c
@@ -1473,6 +1473,12 @@ struct scx_event_stat {
* the meantime. In this case, the task is bounced to the global DSQ.
*/
u64 OFFLINE_LOCAL_DSQ;
+
+ /*
+ * If SCX_OPS_ENQ_LAST is not set, the number of times that a task
+ * continued to run because there were no other tasks on the CPU.
+ */
+ u64 CNTD_RUN_WO_ENQ;
DISPATCH_KEEP_LAST?