summaryrefslogtreecommitdiff
path: root/kernel/sched
diff options
context:
space:
mode:
authorSteve Muckle <smuckle@linaro.org>2015-11-25 15:59:25 -0800
committerLeo Yan <leo.yan@linaro.org>2016-05-10 16:53:23 +0800
commit9d44dc7fe29c4b925ddbbd6a2551929da28dfbfb (patch)
tree22f7a1993a5ca3db0189199a46a891408005d964 /kernel/sched
parent6b6c1924539526c89384067fe70b9fe856c7b626 (diff)
sched/cpufreq_sched: add trace events
Trace events will aid in debugging, profiling and tuning. Signed-off-by: Steve Muckle <smuckle@linaro.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/cpufreq_sched.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/sched/cpufreq_sched.c b/kernel/sched/cpufreq_sched.c
index 58bca8d2ca65..5afe56a82491 100644
--- a/kernel/sched/cpufreq_sched.c
+++ b/kernel/sched/cpufreq_sched.c
@@ -14,6 +14,9 @@
#include <linux/delay.h>
#include <linux/string.h>
+#define CREATE_TRACE_POINTS
+#include <trace/events/cpufreq_sched.h>
+
#include "sched.h"
#define THROTTLE_NSEC 50000000 /* 50ms default */
@@ -78,6 +81,7 @@ static bool finish_last_request(struct gov_data *gd)
int usec_left = ktime_to_ns(ktime_sub(gd->throttle, now));
usec_left /= NSEC_PER_USEC;
+ trace_cpufreq_sched_throttled(usec_left);
usleep_range(usec_left, usec_left + 100);
now = ktime_get();
if (ktime_after(now, gd->throttle))
@@ -186,6 +190,9 @@ static void update_fdomain_capacity_request(int cpu)
goto out;
freq_new = policy->freq_table[index_new].frequency;
+ trace_cpufreq_sched_request_opp(cpu, capacity, freq_new,
+ gd->requested_freq);
+
if (freq_new == gd->requested_freq)
goto out;
@@ -222,6 +229,8 @@ void update_cpu_capacity_request(int cpu, bool request)
if (new_capacity == scr->total)
return;
+ trace_cpufreq_sched_update_capacity(cpu, request, scr, new_capacity);
+
scr->total = new_capacity;
if (request)
update_fdomain_capacity_request(cpu);