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

Commit f9b83b3e authored by Chris Redpath's avatar Chris Redpath Committed by Andres Oportus
Browse files

sched/tune: fix sched_energy_diff tracepoint



sched_energy_diff tracepoint is in a place where it can never trace
payoff or nrg.delta. If CONFIG_SCHED_TUNE is enabled, put it in
a place where those values exist. If it is not enabled, trace from
the current location

Change-Id: Id5442f2b34ec76625491d27c0f4285433ca12699
Reported-by: default avatarValentin Schneider <valentin.schneider@arm.com>
Signed-off-by: default avatarChris Redpath <chris.redpath@arm.com>
parent 2e829cf1
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -5574,13 +5574,13 @@ static inline int __energy_diff(struct energy_env *eenv)
	eenv->nrg.after = energy_after;
	eenv->nrg.diff = eenv->nrg.after - eenv->nrg.before;
	eenv->payoff = 0;

#ifndef CONFIG_SCHED_TUNE
	trace_sched_energy_diff(eenv->task,
			eenv->src_cpu, eenv->dst_cpu, eenv->util_delta,
			eenv->nrg.before, eenv->nrg.after, eenv->nrg.diff,
			eenv->cap.before, eenv->cap.after, eenv->cap.delta,
			eenv->nrg.delta, eenv->payoff);

#endif
	/*
	 * Dead-zone margin preventing too many migrations.
	 */
@@ -5651,6 +5651,12 @@ energy_diff(struct energy_env *eenv)
			eenv->cap.delta,
			eenv->task);

	trace_sched_energy_diff(eenv->task,
			eenv->src_cpu, eenv->dst_cpu, eenv->util_delta,
			eenv->nrg.before, eenv->nrg.after, eenv->nrg.diff,
			eenv->cap.before, eenv->cap.after, eenv->cap.delta,
			eenv->nrg.delta, eenv->payoff);

	/*
	 * When SchedTune is enabled, the energy_diff() function will return
	 * the computed energy payoff value. Since the energy_diff() return