From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Qais Yousef <qyousef@layalina.io>, Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Vincent Guittot <vincent.guittot@linaro.org>
Cc: linux-kernel@vger.kernel.org, Lukasz Luba <lukasz.luba@arm.com>,
Wei Wang <wvw@google.com>, Xuewen Yan <xuewen.yan94@gmail.com>,
Hank <han.lin@mediatek.com>,
Jonathan JMChen <Jonathan.JMChen@mediatek.com>,
Hongyan Xia <hongyan.xia2@arm.com>
Subject: Re: [PATCH v4 3/3] sched/tp: Add new tracepoint to track compute energy computation
Date: Wed, 23 Aug 2023 12:30:27 +0200 [thread overview]
Message-ID: <671ff8bf-ed3e-b651-d9da-6507fddee010@arm.com> (raw)
In-Reply-To: <20230821224504.710576-4-qyousef@layalina.io>
On 22/08/2023 00:45, Qais Yousef wrote:
> It was useful to track feec() placement decision and debug the spare
> capacity and optimization issues vs uclamp_max.
>
> Signed-off-by: Qais Yousef (Google) <qyousef@layalina.io>
> ---
> include/trace/events/sched.h | 5 +++++
> kernel/sched/core.c | 1 +
> kernel/sched/fair.c | 7 ++++++-
> 3 files changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
> index fbb99a61f714..a13d5d06be9d 100644
> --- a/include/trace/events/sched.h
> +++ b/include/trace/events/sched.h
> @@ -735,6 +735,11 @@ DECLARE_TRACE(sched_update_nr_running_tp,
> TP_PROTO(struct rq *rq, int change),
> TP_ARGS(rq, change));
>
> +DECLARE_TRACE(sched_compute_energy_tp,
> + TP_PROTO(struct task_struct *p, int dst_cpu, unsigned long energy,
> + unsigned long max_util, unsigned long busy_time),
> + TP_ARGS(p, dst_cpu, energy, max_util, busy_time));
> +
> #endif /* _TRACE_SCHED_H */
>
> /* This part must be outside protection */
> diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> index efe3848978a0..36c60ad9966a 100644
> --- a/kernel/sched/core.c
> +++ b/kernel/sched/core.c
> @@ -114,6 +114,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(sched_overutilized_tp);
> 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_compute_energy_tp);
>
> DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
>
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index e19a36e7b433..779c285203e3 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -7604,11 +7604,16 @@ compute_energy(struct energy_env *eenv, struct perf_domain *pd,
> {
> unsigned long max_util = eenv_pd_max_util(eenv, pd_cpus, p, dst_cpu);
> unsigned long busy_time = eenv->pd_busy_time;
> + unsigned long energy;
>
> if (dst_cpu >= 0)
> busy_time = min(eenv->pd_cap, busy_time + eenv->task_busy_time);
>
> - return em_cpu_energy(pd->em_pd, max_util, busy_time, eenv->cpu_cap);
> + energy = em_cpu_energy(pd->em_pd, max_util, busy_time, eenv->cpu_cap);
> +
> + trace_sched_compute_energy_tp(p, dst_cpu, energy, max_util, busy_time);
> +
> + return energy;
> }
>
> /*
I will make sure that this gets integrated into our trace module in Lisa
https://github.com/ARM-software/lisa .
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
prev parent reply other threads:[~2023-08-23 10:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-21 22:45 [PATCH v4 0/3] Fix a couple of corner cases in feec() when using uclamp_max Qais Yousef
2023-08-21 22:45 ` [PATCH v4 1/3] sched/uclamp: Set max_spare_cap_cpu even if max_spare_cap is 0 Qais Yousef
2023-08-23 10:30 ` Dietmar Eggemann
2023-08-26 20:41 ` Qais Yousef
2023-09-14 6:39 ` Ingo Molnar
2023-09-16 19:27 ` Qais Yousef
2023-08-21 22:45 ` [PATCH v4 2/3] sched/uclamp: Ignore (util == 0) optimization in feec() when p_util_max = 0 Qais Yousef
2023-08-23 10:30 ` Dietmar Eggemann
2023-08-21 22:45 ` [PATCH v4 3/3] sched/tp: Add new tracepoint to track compute energy computation Qais Yousef
2023-08-23 10:30 ` Dietmar Eggemann [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=671ff8bf-ed3e-b651-d9da-6507fddee010@arm.com \
--to=dietmar.eggemann@arm.com \
--cc=Jonathan.JMChen@mediatek.com \
--cc=han.lin@mediatek.com \
--cc=hongyan.xia2@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=qyousef@layalina.io \
--cc=vincent.guittot@linaro.org \
--cc=wvw@google.com \
--cc=xuewen.yan94@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.