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 <clingutla@codeaurora.org>
This commit is contained in:
Lingutla Chandrasekhar 2020-12-18 11:45:14 +05:30
parent 750e14355e
commit 9ca1bd50fd
2 changed files with 22 additions and 2 deletions

View file

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2017-2019, The Linux Foundation. All rights reserved.
* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
*/
#ifdef CONFIG_SCHED_WALT
@ -538,4 +538,22 @@ TRACE_EVENT(sched_load_to_gov,
__entry->nt_ps, __entry->grp_nt_ps, __entry->pl, __entry->load,
__entry->big_task_rotation, __entry->user_hint)
);
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

View file

@ -2077,8 +2077,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,
rq->window_start);
if (result == old_window_start)
if (result == old_window_start) {
walt_irq_work_queue(&walt_cpufreq_irq_work);
trace_walt_window_rollover(rq->window_start);
}
}
/* Reflect task activity on its demand and cpu's busy time statistics */