From: Beata Michalska <beata.michalska@arm.com>
To: Jie Zhan <zhanjie9@hisilicon.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, ionela.voinescu@arm.com,
sudeep.holla@arm.com, will@kernel.org,
vincent.guittot@linaro.org, vanshikonda@os.amperecomputing.com,
sumitg@nvidia.com, yang@os.amperecomputing.com,
lihuisong@huawei.com, viresh.kumar@linaro.org, rafael@kernel.org
Subject: Re: [PATCH v6 0/4] Add support for AArch64 AMUv1-based arch_freq_get_on_cpu
Date: Mon, 26 Aug 2024 09:24:00 +0200 [thread overview]
Message-ID: <ZswtkBBieOgA9p-0@arm.com> (raw)
In-Reply-To: <8500d58c-e6c5-04c7-73a0-38d3f77f2cb7@hisilicon.com>
On Wed, Aug 14, 2024 at 04:05:24PM +0800, Jie Zhan wrote:
>
> On 11/07/2024 21:59, Beata Michalska wrote:
> > Hi Catalin,
> >
> > On Mon, Jul 08, 2024 at 06:10:02PM +0100, Catalin Marinas wrote:
> > > Hi Beata,
> > >
> > > On Mon, Jun 03, 2024 at 09:21:50AM +0100, Beata Michalska wrote:
> > > > Introducing arm64 specific version of arch_freq_get_on_cpu, cashing on
> > > > existing implementation for FIE and AMUv1 support: the frequency scale
> > > > factor, updated on each sched tick, serves as a base for retrieving
> > > > the frequency for a given CPU, representing an average frequency
> > > > reported between the ticks - thus its accuracy is limited.
> > > >
> > > > The changes have been rather lightly (due to some limitations) tested on
> > > > an FVP model. Note that some small discrepancies have been observed while
> > > > testing (on the model) and this is currently being investigated, though it
> > > > should not have any significant impact on the overall results.
> > > What's the plan with this series? Are you still investigating those
> > > discrepancies or is it good to go?
> > >
> > Overall it should be good to go with small caveat:
> > as per discussion [1] we might need to provide new sysfs attribute exposing an
> > average frequency instead of plugging new code under existing cpuinfo_cur_freq.
> > This is to avoid messing up with other archs and make a clean distinction on
> > which attribute provides what information.
> > As such, the arch_freq_get_on_cpu implementation provided within this series
> > [PATCH v6 3/4] will most probably be shifted to a new function.
> >
> > Hopefully will be able to send those changes soon.
> >
> > ---
> > [1] https://lore.kernel.org/all/ZmrB_DqtmVpvG30l@arm.com/
> > ---
> > BR
> > Beata
> >
> > > --
> > > Catalin
> > >
> Hi Beata,
Hi Jie,
>
> I've recently tested this patchset on a Kunpeng system.
> It works as expected when reading scaling_cur_freq.
> The frequency samples are much stabler than what cppc_cpufreq returns.
Thank you for giving it a spin.
(and apologies for late reply)
>
> A few minor things.
>
> 1. I observed larger errors on idle cpus than busy cpus, though it's just up
> to 1%.
> Not sure if this comes from the uncertain time interval between the last
> tick and entering idle.
> The shorter averaging interval, the larger error, I supposed.
All right - will look into it.
Just for my benefit: that diff is strictly between arch_freq_avg_get_on_cpu
and cpufreq_driver->get(policy->cpu) ?
>
> 2. In the current implementation, the resolution of frequency would be:
> max_freq_khz / SCHED_CAPACITY_SCALE
> This looks a bit unnecessary to me.
>
> It's supposed to get a better resolution if we can do this in
> arch_freq_get_on_cpu():
>
> freq = delta_cycle_cnt * max_freq_khz / delta_const_cnt
>
> which may require caching both current and previous sets of counts in the
> per-cpu struct amu_cntr_sample.
>
arch_freq_get_on_cpu relies on the frequency scale factor to derive the average
frequency. The scale factor is being calculated based on the deltas you have
mentioned and arch_max_freq_scale which uses SCHED_CAPACITY_SCALE*2 factor to
accommodate for rather low reference frequencies. arch_freq_get_on_cpu just does
somewhat reverse computation to that.
---
BR
Beata
> Kind regards,
> Jie
>
next prev parent reply other threads:[~2024-08-26 8:30 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-03 8:21 [PATCH v6 0/4] Add support for AArch64 AMUv1-based arch_freq_get_on_cpu Beata Michalska
2024-06-03 8:21 ` Beata Michalska
2024-06-03 8:21 ` [PATCH v6 1/4] arch_topology: init capacity_freq_ref to 0 Beata Michalska
2024-06-03 8:21 ` Beata Michalska
2024-06-03 8:21 ` [PATCH v6 2/4] arm64: amu: Delay allocating cpumask for AMU FIE support Beata Michalska
2024-06-03 8:21 ` Beata Michalska
2024-06-03 8:21 ` [PATCH v6 3/4] arm64: Provide an AMU-based version of arch_freq_get_on_cpu Beata Michalska
2024-06-03 8:21 ` Beata Michalska
2024-07-10 17:44 ` Vanshidhar Konda
2024-07-17 6:54 ` Beata Michalska
2024-08-14 6:46 ` Jie Zhan
2024-08-26 7:23 ` Beata Michalska
2024-08-27 13:05 ` Jie Zhan
2024-06-03 8:21 ` [PATCH v6 4/4] arm64: Update AMU-based freq scale factor on entering idle Beata Michalska
2024-06-03 8:21 ` Beata Michalska
2024-07-08 17:10 ` [PATCH v6 0/4] Add support for AArch64 AMUv1-based arch_freq_get_on_cpu Catalin Marinas
2024-07-11 13:59 ` Beata Michalska
2024-08-14 8:05 ` Jie Zhan
2024-08-26 7:24 ` Beata Michalska [this message]
2024-08-27 13:03 ` Jie Zhan
[not found] ` <8a9b4e02-a5c6-cb1b-fd32-728fc2c5e741@hisilicon.com>
2024-09-06 9:45 ` Beata Michalska
2024-07-14 0:32 ` Vanshidhar Konda
2024-07-17 6:58 ` Beata Michalska
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=ZswtkBBieOgA9p-0@arm.com \
--to=beata.michalska@arm.com \
--cc=catalin.marinas@arm.com \
--cc=ionela.voinescu@arm.com \
--cc=lihuisong@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=sumitg@nvidia.com \
--cc=vanshikonda@os.amperecomputing.com \
--cc=vincent.guittot@linaro.org \
--cc=viresh.kumar@linaro.org \
--cc=will@kernel.org \
--cc=yang@os.amperecomputing.com \
--cc=zhanjie9@hisilicon.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.