From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Penny Zheng" <Penny.Zheng@amd.com>,
ray.huang@amd.com, "Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>,
xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for AMD Family 1Ah CPUs
Date: Tue, 25 Mar 2025 11:55:53 +0100 [thread overview]
Message-ID: <d1432802d12ed4fa0ac61c9f7b2cbcc4@bugseng.com> (raw)
In-Reply-To: <0b340303-db4e-4723-b53d-178b2676a36c@suse.com>
On 2025-03-24 16:47, Jan Beulich wrote:
> On 06.03.2025 09:39, Penny Zheng wrote:
>> This commit fixes core frequency calculation for AMD Family 1Ah CPUs,
>> due to
>> a change in the PStateDef MSR layout in AMD Family 1Ah+.
>> In AMD Family 1Ah+, Core current operating frequency in MHz is
>> calculated as
>> follows:
>
[...]
>
>> @@ -658,19 +670,20 @@ void amd_log_freq(const struct cpuinfo_x86 *c)
>> if (!(lo >> 63))
>> return;
>>
>> -#define FREQ(v) (c->x86 < 0x17 ? ((((v) & 0x3f) + 0x10) * 100) >>
>> (((v) >> 6) & 7) \
>> - : (((v) & 0xff) * 25 * 8) / (((v) >> 8) &
>> 0x3f))
>> if (idx && idx < h &&
>> !rdmsr_safe(0xC0010064 + idx, val) && (val >> 63) &&
>> !rdmsr_safe(0xC0010064, hi) && (hi >> 63))
>> printk("CPU%u: %lu (%lu ... %lu) MHz\n",
>> - smp_processor_id(), FREQ(val), FREQ(lo), FREQ(hi));
>> + smp_processor_id(),
>> + amd_parse_freq(c, val),
>> + amd_parse_freq(c, lo), amd_parse_freq(c, hi));
>
> I fear Misra won't like multiple function calls to evaluate the
> parameters
> to pass to another function. Iirc smp_process_id() has special
> exception,
> so that's okay here. This may be possible to alleviate by marking the
> new
> helper pure or even const (see gcc doc as to caveats with passing
> pointers
> to const functions). Cc-ing Nicola for possible clarification or
> correction.
>
> Jan
Yes, it would help. Currently there is only a property for
smp_processor_id(), though there has been some discussion in the past
about adding a formal deviation. Not a big problem either way since
currently the rule is non-blocking, but definitely an attribute would
help any future work on making that clean.
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
next prev parent reply other threads:[~2025-03-25 10:56 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-06 8:39 [PATCH v3 00/15] amd-cppc CPU Performance Scaling Driver Penny Zheng
2025-03-06 8:39 ` [PATCH v3 01/15] xen/cpufreq: introduces XEN_PM_PSD for solely delivery of _PSD Penny Zheng
2025-03-24 14:08 ` Jan Beulich
2025-04-01 3:25 ` Penny, Zheng
2025-03-06 8:39 ` [PATCH v3 02/15] xen/x86: introduce new sub-hypercall to propagate CPPC data Penny Zheng
2025-03-24 14:28 ` Jan Beulich
2025-03-25 4:12 ` Penny, Zheng
2025-03-25 7:53 ` Jan Beulich
2025-03-28 8:27 ` Penny, Zheng
2025-03-28 8:36 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 03/15] xen/cpufreq: refactor cmdline "cpufreq=xxx" Penny Zheng
2025-03-24 15:00 ` Jan Beulich
2025-03-26 7:20 ` Penny, Zheng
2025-03-26 10:43 ` Jan Beulich
2025-04-01 5:44 ` Penny, Zheng
2025-04-01 6:38 ` Jan Beulich
2025-04-01 6:56 ` Penny, Zheng
2025-03-06 8:39 ` [PATCH v3 04/15] xen/cpufreq: move XEN_PROCESSOR_PM_xxx to internal header Penny Zheng
2025-03-24 15:11 ` Jan Beulich
2025-03-26 7:48 ` Penny, Zheng
2025-03-06 8:39 ` [PATCH v3 05/15] xen/x86: introduce "cpufreq=amd-cppc" xen cmdline Penny Zheng
2025-03-24 15:26 ` Jan Beulich
2025-03-26 8:35 ` Penny, Zheng
2025-03-26 10:55 ` Jan Beulich
2025-03-27 3:12 ` Penny, Zheng
2025-03-27 7:48 ` Jan Beulich
2025-03-28 4:43 ` Penny, Zheng
2025-03-25 10:00 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 06/15] xen/cpufreq: disable px statistic info in amd-cppc mode Penny Zheng
2025-03-24 15:34 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 07/15] xen/cpufreq: fix core frequency calculation for AMD Family 1Ah CPUs Penny Zheng
2025-03-24 15:47 ` Jan Beulich
2025-03-25 10:55 ` Nicola Vetrini [this message]
2025-03-26 9:54 ` Penny, Zheng
2025-03-26 10:14 ` Nicola Vetrini
2025-03-26 10:19 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 08/15] xen/amd: export processor max frequency value Penny Zheng
2025-03-24 15:52 ` Jan Beulich
2025-03-27 8:38 ` Penny, Zheng
2025-03-06 8:39 ` [PATCH v3 09/15] xen/x86: introduce a new amd cppc driver for cpufreq scaling Penny Zheng
2025-03-25 9:57 ` Jan Beulich
2025-03-25 13:58 ` Jason Andryuk
2025-04-03 7:40 ` Penny, Zheng
2025-04-03 7:54 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 10/15] xen/cpufreq: only set gov NULL when cpufreq_driver.setpolicy is NULL Penny Zheng
2025-03-24 16:32 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 11/15] xen/cpufreq: abstract Energy Performance Preference value Penny Zheng
2025-03-25 10:13 ` Jan Beulich
2025-03-06 8:39 ` [PATCH v3 12/15] xen/x86: implement EPP support for the amd-cppc driver in active mode Penny Zheng
2025-03-25 10:48 ` Jan Beulich
2025-03-28 4:07 ` Penny, Zheng
2025-03-28 7:18 ` Jan Beulich
2025-04-08 10:32 ` Penny, Zheng
2025-03-06 8:39 ` [PATCH v3 13/15] tools/xenpm: Print CPPC parameters for amd-cppc driver Penny Zheng
2025-03-06 8:39 ` [PATCH v3 14/15] xen/xenpm: Adapt cpu frequency monitor in xenpm Penny Zheng
2025-03-25 11:26 ` Jan Beulich
2025-03-25 16:37 ` Jason Andryuk
2025-03-26 15:45 ` Anthony PERARD
2025-03-06 8:39 ` [PATCH v3 15/15] xen/cpufreq: Adapt SET/GET_CPUFREQ_CPPC xen_sysctl_pm_op for amd-cppc driver Penny Zheng
2025-03-25 16:59 ` Jan Beulich
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=d1432802d12ed4fa0ac61c9f7b2cbcc4@bugseng.com \
--to=nicola.vetrini@bugseng.com \
--cc=Penny.Zheng@amd.com \
--cc=andrew.cooper3@citrix.com \
--cc=jbeulich@suse.com \
--cc=ray.huang@amd.com \
--cc=roger.pau@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/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.