mirror of https://gitee.com/openkylin/linux.git
cpufreq: trace frequency limits change
systrace used for tracing for Android systems has carried a patch for many years in the Android tree that traces when the cpufreq limits change. With the help of this information, systrace can know when the policy limits change and can visually display the data. Lets add upstream support for the same. Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com> Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
6e926363fc
commit
601b218568
|
@ -27,6 +27,7 @@ cpufreq.
|
|||
|
||||
cpu_idle "state=%lu cpu_id=%lu"
|
||||
cpu_frequency "state=%lu cpu_id=%lu"
|
||||
cpu_frequency_limits "min=%lu max=%lu cpu_id=%lu"
|
||||
|
||||
A suspend event is used to indicate the system going in and out of the
|
||||
suspend mode:
|
||||
|
|
|
@ -2236,6 +2236,7 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,
|
|||
|
||||
policy->min = new_policy->min;
|
||||
policy->max = new_policy->max;
|
||||
trace_cpu_frequency_limits(policy);
|
||||
|
||||
policy->cached_target_freq = UINT_MAX;
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#if !defined(_TRACE_POWER_H) || defined(TRACE_HEADER_MULTI_READ)
|
||||
#define _TRACE_POWER_H
|
||||
|
||||
#include <linux/cpufreq.h>
|
||||
#include <linux/ktime.h>
|
||||
#include <linux/pm_qos.h>
|
||||
#include <linux/tracepoint.h>
|
||||
|
@ -148,6 +149,30 @@ DEFINE_EVENT(cpu, cpu_frequency,
|
|||
TP_ARGS(frequency, cpu_id)
|
||||
);
|
||||
|
||||
TRACE_EVENT(cpu_frequency_limits,
|
||||
|
||||
TP_PROTO(struct cpufreq_policy *policy),
|
||||
|
||||
TP_ARGS(policy),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(u32, min_freq)
|
||||
__field(u32, max_freq)
|
||||
__field(u32, cpu_id)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->min_freq = policy->min;
|
||||
__entry->max_freq = policy->max;
|
||||
__entry->cpu_id = policy->cpu;
|
||||
),
|
||||
|
||||
TP_printk("min=%lu max=%lu cpu_id=%lu",
|
||||
(unsigned long)__entry->min_freq,
|
||||
(unsigned long)__entry->max_freq,
|
||||
(unsigned long)__entry->cpu_id)
|
||||
);
|
||||
|
||||
TRACE_EVENT(device_pm_callback_start,
|
||||
|
||||
TP_PROTO(struct device *dev, const char *pm_ops, int event),
|
||||
|
|
Loading…
Reference in New Issue