Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20daa233 authored by Junjie Wu's avatar Junjie Wu
Browse files

cpufreq: interactive: Add cpuload trace events



With per-cluster timer implementation, only max load across CPUs in
cluster is traced in timer function. Add cpufreq_interactive_cpuload
trace to provide per-cpu load information.

Change-Id: Icea9f2574332a4bc472b14193e77d76100a896ed
Signed-off-by: default avatarJunjie Wu <junjiew@codeaurora.org>
parent df26e48c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -451,6 +451,8 @@ static void __cpufreq_interactive_timer(unsigned long data, bool is_notif)
		}
		tmploadadjfreq = (unsigned int)cputime_speedadj * 100;
		pcpu->loadadjfreq = tmploadadjfreq;
		trace_cpufreq_interactive_cpuload(i, tmploadadjfreq /
						  ppol->policy->cur);

		if (tmploadadjfreq > loadadjfreq) {
			loadadjfreq = tmploadadjfreq;
+14 −0
Original line number Diff line number Diff line
@@ -118,6 +118,20 @@ TRACE_EVENT(cpufreq_interactive_load_change,
	    TP_printk("re-evaluate for cpu=%lu", __entry->cpu_id)
);

TRACE_EVENT(cpufreq_interactive_cpuload,
	    TP_PROTO(unsigned long cpu_id, unsigned long load),
	    TP_ARGS(cpu_id, load),
	    TP_STRUCT__entry(
		__field(unsigned long, cpu_id)
		__field(unsigned long, load)
	    ),
	    TP_fast_assign(
		__entry->cpu_id = cpu_id;
		__entry->load = load;
	    ),
	    TP_printk("cpu=%lu load=%lu", __entry->cpu_id, __entry->load)
);

#endif /* _TRACE_CPUFREQ_INTERACTIVE_H */

/* This part must be outside protection */