summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPatrick Bellasi <patrick.bellasi@arm.com>2016-01-20 14:06:05 +0000
committerAmit Pundir <amit.pundir@linaro.org>2016-09-14 14:59:32 +0530
commit13a60dc148bd6646e09349a2d424e65c8c30c195 (patch)
tree614241a188d258e6dfc875b70fa3ae53be982104 /kernel
parent486c7afa76ec1b1249b1c8f9d387561bc86c268f (diff)
DEBUG: sched/tune: add tracepoint on P-E space filtering
Change-Id: I31dfed67c0486713b88efb75df767329f2802e06 Signed-off-by: Patrick Bellasi <patrick.bellasi@arm.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/tune.c30
1 files changed, 26 insertions, 4 deletions
diff --git a/kernel/sched/tune.c b/kernel/sched/tune.c
index 7a434f2394e7..b40d40dc3c49 100644
--- a/kernel/sched/tune.c
+++ b/kernel/sched/tune.c
@@ -70,6 +70,13 @@ __schedtune_accept_deltas(int nrg_delta, int cap_delta,
*/
payoff = nrg_delta * threshold_gains[perf_boost_idx].cap_gain;
payoff -= cap_delta * threshold_gains[perf_boost_idx].nrg_gain;
+
+ trace_sched_tune_filter(
+ nrg_delta, cap_delta,
+ threshold_gains[perf_boost_idx].nrg_gain,
+ threshold_gains[perf_boost_idx].cap_gain,
+ payoff, 8);
+
return payoff;
}
@@ -84,6 +91,13 @@ __schedtune_accept_deltas(int nrg_delta, int cap_delta,
*/
payoff = cap_delta * threshold_gains[perf_constrain_idx].nrg_gain;
payoff -= nrg_delta * threshold_gains[perf_constrain_idx].cap_gain;
+
+ trace_sched_tune_filter(
+ nrg_delta, cap_delta,
+ threshold_gains[perf_constrain_idx].nrg_gain,
+ threshold_gains[perf_constrain_idx].cap_gain,
+ payoff, 6);
+
return payoff;
}
@@ -155,12 +169,16 @@ schedtune_accept_deltas(int nrg_delta, int cap_delta,
int perf_constrain_idx;
/* Optimal (O) region */
- if (nrg_delta < 0 && cap_delta > 0)
+ if (nrg_delta < 0 && cap_delta > 0) {
+ trace_sched_tune_filter(nrg_delta, cap_delta, 0, 0, 1, 0);
return INT_MAX;
+ }
/* Suboptimal (S) region */
- if (nrg_delta > 0 && cap_delta < 0)
+ if (nrg_delta > 0 && cap_delta < 0) {
+ trace_sched_tune_filter(nrg_delta, cap_delta, 0, 0, -1, 5);
return -INT_MAX;
+ }
/* Get task specific perf Boost/Constraints indexes */
rcu_read_lock();
@@ -531,12 +549,16 @@ schedtune_accept_deltas(int nrg_delta, int cap_delta,
struct task_struct *task)
{
/* Optimal (O) region */
- if (nrg_delta < 0 && cap_delta > 0)
+ if (nrg_delta < 0 && cap_delta > 0) {
+ trace_sched_tune_filter(nrg_delta, cap_delta, 0, 0, 1, 0);
return INT_MAX;
+ }
/* Suboptimal (S) region */
- if (nrg_delta > 0 && cap_delta < 0)
+ if (nrg_delta > 0 && cap_delta < 0) {
+ trace_sched_tune_filter(nrg_delta, cap_delta, 0, 0, -1, 5);
return -INT_MAX;
+ }
return __schedtune_accept_deltas(nrg_delta, cap_delta,
perf_boost_idx, perf_constrain_idx);