diff --git a/include/trace/events/power.h b/include/trace/events/power.h index af5018aa9517..877417a912aa 100644 --- a/include/trace/events/power.h +++ b/include/trace/events/power.h @@ -500,6 +500,15 @@ DEFINE_EVENT(dev_pm_qos_request, dev_pm_qos_remove_request, TP_ARGS(name, type, new_value) ); + +DECLARE_TRACE(sugov_util_update_tp, + TP_PROTO(unsigned int cpu, unsigned long util, unsigned long max_cap, unsigned int flags), + TP_ARGS(cpu, util, max_cap, flags)); + +DECLARE_TRACE(sugov_next_freq_tp, + TP_PROTO(unsigned int cpu, unsigned long util, unsigned long max, unsigned int freq), + TP_ARGS(cpu, util, max, freq)); + #endif /* _TRACE_POWER_H */ /* This part must be outside protection */ diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index e7af6bdd0bf5..bcd7f1fbb8cd 100644 --- a/include/trace/events/sched.h +++ b/include/trace/events/sched.h @@ -677,14 +677,6 @@ DECLARE_TRACE(sched_update_nr_running_tp, TP_PROTO(struct rq *rq, int change), TP_ARGS(rq, change)); -DECLARE_TRACE(sugov_util_update_tp, - TP_PROTO(unsigned int cpu, unsigned long util, unsigned long max_cap, unsigned int flags), - TP_ARGS(cpu, util, max_cap, flags)); - -DECLARE_TRACE(sugov_next_freq_tp, - TP_PROTO(unsigned int cpu, unsigned long util, unsigned long max, unsigned int freq), - TP_ARGS(cpu, util, max, freq)); - #endif /* _TRACE_SCHED_H */ /* This part must be outside protection */ diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 69e5ec224e1c..c9c0735198b1 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -45,8 +45,6 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(sched_util_est_cfs_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_util_est_se_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_update_nr_running_tp); EXPORT_TRACEPOINT_SYMBOL_GPL(sched_switch); -EXPORT_TRACEPOINT_SYMBOL_GPL(sugov_next_freq_tp); -EXPORT_TRACEPOINT_SYMBOL_GPL(sugov_util_update_tp); DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); EXPORT_SYMBOL_GPL(runqueues); diff --git a/kernel/sched/cpufreq_schedutil.c b/kernel/sched/cpufreq_schedutil.c index ac5b1d4eb830..4ada12d78895 100644 --- a/kernel/sched/cpufreq_schedutil.c +++ b/kernel/sched/cpufreq_schedutil.c @@ -538,11 +538,11 @@ sugov_update_shared(struct update_util_data *hook, u64 time, unsigned int flags) ignore_dl_rate_limit(sg_cpu, sg_policy); + trace_sugov_util_update_tp(sg_cpu->cpu, util, sg_cpu->max, flags); + if (sugov_should_update_freq(sg_policy, time)) { next_f = sugov_next_freq_shared(sg_cpu, time); - trace_sugov_util_update_tp(sg_cpu->cpu, util, sg_cpu->max, flags); - if (sg_policy->policy->fast_switch_enabled) sugov_fast_switch(sg_policy, time, next_f); else diff --git a/kernel/trace/power-traces.c b/kernel/trace/power-traces.c index 3ca551c11ae1..659222d08f6f 100644 --- a/kernel/trace/power-traces.c +++ b/kernel/trace/power-traces.c @@ -21,3 +21,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(powernv_throttle); EXPORT_TRACEPOINT_SYMBOL_GPL(device_pm_callback_start); EXPORT_TRACEPOINT_SYMBOL_GPL(device_pm_callback_end); EXPORT_TRACEPOINT_SYMBOL_GPL(clock_set_rate); +EXPORT_TRACEPOINT_SYMBOL_GPL(sugov_next_freq_tp); +EXPORT_TRACEPOINT_SYMBOL_GPL(sugov_util_update_tp);