From ceda5e2445ac99a2b29bb4511da4b646ccf726df Mon Sep 17 00:00:00 2001 From: Lingutla Chandrasekhar Date: Thu, 19 Nov 2020 20:52:54 +0530 Subject: [PATCH] sched/walt: Add window rollover trace event Add window rollover trace event to track cpu's WALT window rollover. Change-Id: I4a2e7291f31a1ac50144086eaf6ae920a07ca545 Signed-off-by: Lingutla Chandrasekhar Signed-off-by: Pavankumar Kondeti --- kernel/sched/walt/trace.h | 17 +++++++++++++++++ kernel/sched/walt/walt.c | 4 +++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/kernel/sched/walt/trace.h b/kernel/sched/walt/trace.h index 75be13d809bf..6dd8f72feb61 100644 --- a/kernel/sched/walt/trace.h +++ b/kernel/sched/walt/trace.h @@ -1088,6 +1088,23 @@ TRACE_EVENT(sched_enq_deq_task, __entry->cpus_allowed, __entry->demand, __entry->pred_demand) ); + +TRACE_EVENT(walt_window_rollover, + + TP_PROTO(u64 window_start), + + TP_ARGS(window_start), + + TP_STRUCT__entry( + __field(u64, window_start) + ), + + TP_fast_assign( + __entry->window_start = window_start; + ), + + TP_printk("window_start=%llu", __entry->window_start) +); #endif /* _TRACE_WALT_H */ #undef TRACE_INCLUDE_PATH diff --git a/kernel/sched/walt/walt.c b/kernel/sched/walt/walt.c index 06f938ce6cc4..7704c26fa488 100644 --- a/kernel/sched/walt/walt.c +++ b/kernel/sched/walt/walt.c @@ -2159,8 +2159,10 @@ static inline void run_walt_irq_work(u64 old_window_start, struct rq *rq) result = atomic64_cmpxchg(&walt_irq_work_lastq_ws, old_window_start, wrq->window_start); - if (result == old_window_start) + if (result == old_window_start) { walt_irq_work_queue(&walt_cpufreq_irq_work); + trace_walt_window_rollover(wrq->window_start); + } } /* Reflect task activity on its demand and cpu's busy time statistics */