linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/2] intel_pstate: Use information from CPPC to compute hybrid scaling factors
@ 2024-12-05 11:30 Rafael J. Wysocki
  2024-12-05 11:39 ` [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get " Rafael J. Wysocki
  2024-12-05 11:40 ` [PATCH v1 2/2] cpufreq: intel_pstate: Drop Arrow Lake from "scaling factor" list Rafael J. Wysocki
  0 siblings, 2 replies; 7+ messages in thread
From: Rafael J. Wysocki @ 2024-12-05 11:30 UTC (permalink / raw)
  To: Linux PM; +Cc: LKML, Srinivas Pandruvada

Hi Everyone,

The first patch in this series modifies intel_pstate to use nformation from
CPPC for computing perf-to-frequency scaling factors on hybrid systems as
per the subject.

The second patch removes Arrow Lake from the list of platforms for which
the scaling factor is known because in fact the Meteor Lake scaling factor
will not be suitable for it in all configurations.

These patches have been sent already which the following RFC series:

https://lore.kernel.org/linux-pm/5861970.DvuYhMxLoT@rjwysocki.net/

but as stated there, they are really 6.14 material independent of the
other patches in it.

Thanks!




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get scaling factors
  2024-12-05 11:30 [PATCH v1 0/2] intel_pstate: Use information from CPPC to compute hybrid scaling factors Rafael J. Wysocki
@ 2024-12-05 11:39 ` Rafael J. Wysocki
  2025-05-01  1:28   ` Russell Haley
  2024-12-05 11:40 ` [PATCH v1 2/2] cpufreq: intel_pstate: Drop Arrow Lake from "scaling factor" list Rafael J. Wysocki
  1 sibling, 1 reply; 7+ messages in thread
From: Rafael J. Wysocki @ 2024-12-05 11:39 UTC (permalink / raw)
  To: Linux PM; +Cc: LKML, Srinivas Pandruvada

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

The perf-to-frequency scaling factors are used by intel_pstate on hybrid
platforms to cast performance levels to frequency on different types of
CPUs which is needed because the generic cpufreq sysfs interface works
in the frequency domain.

For some hybrid platforms already in the field, the scaling factors are
known, but for others (including some upcoming ones) they most likely
will be different and the only way to get them that scales is to use
information provided by the platform firmware.  In this particular case,
the requisite information can be obtained via CPPC.

If the P-core hybrid scaling factor for the given processor model is not
known, use CPPC to compute hybrid scaling factors for all CPUs.

Since the current default hybrid scaling factor is only suitable for a
few early hybrid platforms, add intel_hybrid_scaling_factor[] entries
for them and initialize the scaling factor to zero ("unknown") by
default.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/cpufreq/intel_pstate.c |   59 +++++++++++++++++++++++------------------
 1 file changed, 34 insertions(+), 25 deletions(-)

Index: linux-pm/drivers/cpufreq/intel_pstate.c
===================================================================
--- linux-pm.orig/drivers/cpufreq/intel_pstate.c
+++ linux-pm/drivers/cpufreq/intel_pstate.c
@@ -28,6 +28,7 @@
 #include <linux/pm_qos.h>
 #include <linux/bitfield.h>
 #include <trace/events/power.h>
+#include <linux/units.h>
 
 #include <asm/cpu.h>
 #include <asm/div64.h>
@@ -302,11 +303,11 @@ static bool hwp_is_hybrid;
 
 static struct cpufreq_driver *intel_pstate_driver __read_mostly;
 
-#define HYBRID_SCALING_FACTOR		78741
+#define HYBRID_SCALING_FACTOR_ADL	78741
 #define HYBRID_SCALING_FACTOR_MTL	80000
 #define HYBRID_SCALING_FACTOR_LNL	86957
 
-static int hybrid_scaling_factor = HYBRID_SCALING_FACTOR;
+static int hybrid_scaling_factor;
 
 static inline int core_get_scaling(void)
 {
@@ -414,18 +415,15 @@ static int intel_pstate_get_cppc_guarant
 static int intel_pstate_cppc_get_scaling(int cpu)
 {
 	struct cppc_perf_caps cppc_perf;
-	int ret;
-
-	ret = cppc_get_perf_caps(cpu, &cppc_perf);
 
 	/*
-	 * If the nominal frequency and the nominal performance are not
-	 * zero and the ratio between them is not 100, return the hybrid
-	 * scaling factor.
-	 */
-	if (!ret && cppc_perf.nominal_perf && cppc_perf.nominal_freq &&
-	    cppc_perf.nominal_perf * 100 != cppc_perf.nominal_freq)
-		return hybrid_scaling_factor;
+	 * Compute the perf-to-frequency scaling factor for the given CPU if
+	 * possible, unless it would be 0.
+	 */
+	if (!cppc_get_perf_caps(cpu, &cppc_perf) &&
+	    cppc_perf.nominal_perf && cppc_perf.nominal_freq)
+		return div_u64(cppc_perf.nominal_freq * KHZ_PER_MHZ,
+			       cppc_perf.nominal_perf);
 
 	return core_get_scaling();
 }
@@ -2211,24 +2209,30 @@ static void hybrid_get_type(void *data)
 
 static int hwp_get_cpu_scaling(int cpu)
 {
-	u8 cpu_type = 0;
+	if (hybrid_scaling_factor) {
+		u8 cpu_type = 0;
+
+		smp_call_function_single(cpu, hybrid_get_type, &cpu_type, 1);
 
-	smp_call_function_single(cpu, hybrid_get_type, &cpu_type, 1);
-	/* P-cores have a smaller perf level-to-freqency scaling factor. */
-	if (cpu_type == 0x40)
-		return hybrid_scaling_factor;
+		/*
+		 * Return the hybrid scaling factor for P-cores and use the
+		 * default core scaling for E-cores.
+		 */
+		if (cpu_type == 0x40)
+			return hybrid_scaling_factor;
 
-	/* Use default core scaling for E-cores */
-	if (cpu_type == 0x20)
+		if (cpu_type == 0x20)
+			return core_get_scaling();
+	}
+
+	/* Use core scaling on non-hybrid systems. */
+	if (!cpu_feature_enabled(X86_FEATURE_HYBRID_CPU))
 		return core_get_scaling();
 
 	/*
-	 * If reached here, this system is either non-hybrid (like Tiger
-	 * Lake) or hybrid-capable (like Alder Lake or Raptor Lake) with
-	 * no E cores (in which case CPUID for hybrid support is 0).
-	 *
-	 * The CPPC nominal_frequency field is 0 for non-hybrid systems,
-	 * so the default core scaling will be used for them.
+	 * The system is hybrid, but the hybrid scaling factor is not known or
+	 * the CPU type is not one of the above, so use CPPC to compute the
+	 * scaling factor for this CPU.
 	 */
 	return intel_pstate_cppc_get_scaling(cpu);
 }
@@ -3665,6 +3669,11 @@ static const struct x86_cpu_id intel_epp
 };
 
 static const struct x86_cpu_id intel_hybrid_scaling_factor[] = {
+	X86_MATCH_VFM(INTEL_ALDERLAKE, HYBRID_SCALING_FACTOR_ADL),
+	X86_MATCH_VFM(INTEL_ALDERLAKE_L, HYBRID_SCALING_FACTOR_ADL),
+	X86_MATCH_VFM(INTEL_RAPTORLAKE, HYBRID_SCALING_FACTOR_ADL),
+	X86_MATCH_VFM(INTEL_RAPTORLAKE_P, HYBRID_SCALING_FACTOR_ADL),
+	X86_MATCH_VFM(INTEL_RAPTORLAKE_S, HYBRID_SCALING_FACTOR_ADL),
 	X86_MATCH_VFM(INTEL_METEORLAKE_L, HYBRID_SCALING_FACTOR_MTL),
 	X86_MATCH_VFM(INTEL_ARROWLAKE, HYBRID_SCALING_FACTOR_MTL),
 	X86_MATCH_VFM(INTEL_LUNARLAKE_M, HYBRID_SCALING_FACTOR_LNL),




^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v1 2/2] cpufreq: intel_pstate: Drop Arrow Lake from "scaling factor" list
  2024-12-05 11:30 [PATCH v1 0/2] intel_pstate: Use information from CPPC to compute hybrid scaling factors Rafael J. Wysocki
  2024-12-05 11:39 ` [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get " Rafael J. Wysocki
@ 2024-12-05 11:40 ` Rafael J. Wysocki
  1 sibling, 0 replies; 7+ messages in thread
From: Rafael J. Wysocki @ 2024-12-05 11:40 UTC (permalink / raw)
  To: Linux PM; +Cc: LKML, Srinivas Pandruvada

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Since HYBRID_SCALING_FACTOR_MTL is not going to be suitable for Arrow
Lake in general, drop it from the "known hybrid scaling factors" list of
platforms, so the scaling factor for it will be determined with the
help of information provided by the platform firmware via CPPC.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/cpufreq/intel_pstate.c |    1 -
 1 file changed, 1 deletion(-)

Index: linux-pm/drivers/cpufreq/intel_pstate.c
===================================================================
--- linux-pm.orig/drivers/cpufreq/intel_pstate.c
+++ linux-pm/drivers/cpufreq/intel_pstate.c
@@ -3675,7 +3675,6 @@ static const struct x86_cpu_id intel_hyb
 	X86_MATCH_VFM(INTEL_RAPTORLAKE_P, HYBRID_SCALING_FACTOR_ADL),
 	X86_MATCH_VFM(INTEL_RAPTORLAKE_S, HYBRID_SCALING_FACTOR_ADL),
 	X86_MATCH_VFM(INTEL_METEORLAKE_L, HYBRID_SCALING_FACTOR_MTL),
-	X86_MATCH_VFM(INTEL_ARROWLAKE, HYBRID_SCALING_FACTOR_MTL),
 	X86_MATCH_VFM(INTEL_LUNARLAKE_M, HYBRID_SCALING_FACTOR_LNL),
 	{}
 };




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get scaling factors
  2024-12-05 11:39 ` [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get " Rafael J. Wysocki
@ 2025-05-01  1:28   ` Russell Haley
  2025-05-01 17:13     ` srinivas pandruvada
  0 siblings, 1 reply; 7+ messages in thread
From: Russell Haley @ 2025-05-01  1:28 UTC (permalink / raw)
  To: Rafael J. Wysocki, Linux PM; +Cc: LKML, Srinivas Pandruvada


On 12/5/24 5:39 AM, Rafael J. Wysocki wrote:

> +	 * Compute the perf-to-frequency scaling factor for the given CPU if
> +	 * possible, unless it would be 0.
> +	 */
> +	if (!cppc_get_perf_caps(cpu, &cppc_perf) &&
> +	    cppc_perf.nominal_perf && cppc_perf.nominal_freq)
> +		return div_u64(cppc_perf.nominal_freq * KHZ_PER_MHZ,
> +			       cppc_perf.nominal_perf);

I think this exposed a firmware bug on ARL. I have a Core Ultra 265K,
and two of the E-cores report 33 for nominal_perf, while the others
report 46. They all report 3300 for nominal_freq.

The result is that the kernel thinks these two E-cores are capable of
6.5 GHz.

> grep . /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:5400000
/sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq:5500000
/sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq:5400000
/sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_max_freq:5400000
/sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq:5400000
/sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_max_freq:5400000
/sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_max_freq:5400000
/sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_max_freq:5500000
/sys/devices/system/cpu/cpu8/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu9/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu10/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu11/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu12/cpufreq/cpuinfo_max_freq:6500000 # wow
/sys/devices/system/cpu/cpu13/cpufreq/cpuinfo_max_freq:6500000 # amazing
/sys/devices/system/cpu/cpu14/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu15/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu16/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu17/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu18/cpufreq/cpuinfo_max_freq:4600000
/sys/devices/system/cpu/cpu19/cpufreq/cpuinfo_max_freq:4600000

Hopefully you have the ear of someone on the firmware team so that a
ticket can be created for this.

In Phoronix discussion, users have reported seeing this on both ASRock
and MSI motherboards:

https://www.phoronix.com/forums/forum/hardware/processors-memory/1541981-intel-core-ultra-9-285k-arrow-lake-performance-on-linux-has-improved-a-lot-since-launch?p=1543676#post1543676

----------

Also, this may be related... I can't set scaling_max_freq to odd
multiples of 100 MHz, only even. Checking with:

    x86_energy_perf_policy &| grep -i req

reveals that some values of max are being skipped. Setting manually with

    x86_energy_perf_policy --cpu 0-7 --hwp-max 76

allows the odd multiples to be accessed. Integer division issue somewhere?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get scaling factors
  2025-05-01  1:28   ` Russell Haley
@ 2025-05-01 17:13     ` srinivas pandruvada
  2025-05-01 21:33       ` Russell Haley
  0 siblings, 1 reply; 7+ messages in thread
From: srinivas pandruvada @ 2025-05-01 17:13 UTC (permalink / raw)
  To: Russell Haley, Rafael J. Wysocki, Linux PM; +Cc: LKML

Hi Russell,


On Wed, 2025-04-30 at 20:28 -0500, Russell Haley wrote:
> 
> On 12/5/24 5:39 AM, Rafael J. Wysocki wrote:
> 
> > +	 * Compute the perf-to-frequency scaling factor for the
> > given CPU if
> > +	 * possible, unless it would be 0.
> > +	 */
> > +	if (!cppc_get_perf_caps(cpu, &cppc_perf) &&
> > +	    cppc_perf.nominal_perf && cppc_perf.nominal_freq)
> > +		return div_u64(cppc_perf.nominal_freq *
> > KHZ_PER_MHZ,
> > +			       cppc_perf.nominal_perf);
> 
Can you dump the output of

 grep -r . /sys/devices/system/cpu/cpu*/acpi_cppc/

Thanks,
Srinivas

> I think this exposed a firmware bug on ARL. I have a Core Ultra 265K,
> and two of the E-cores report 33 for nominal_perf, while the others
> report 46. They all report 3300 for nominal_freq.
> 
> The result is that the kernel thinks these two E-cores are capable of
> 6.5 GHz.
> 
> > grep . /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_max_freq
> /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq:5400000
> /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_max_freq:5500000
> /sys/devices/system/cpu/cpu2/cpufreq/cpuinfo_max_freq:5400000
> /sys/devices/system/cpu/cpu3/cpufreq/cpuinfo_max_freq:5400000
> /sys/devices/system/cpu/cpu4/cpufreq/cpuinfo_max_freq:5400000
> /sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_max_freq:5400000
> /sys/devices/system/cpu/cpu6/cpufreq/cpuinfo_max_freq:5400000
> /sys/devices/system/cpu/cpu7/cpufreq/cpuinfo_max_freq:5500000
> /sys/devices/system/cpu/cpu8/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu9/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu10/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu11/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu12/cpufreq/cpuinfo_max_freq:6500000 # wow
> /sys/devices/system/cpu/cpu13/cpufreq/cpuinfo_max_freq:6500000 #
> amazing
> /sys/devices/system/cpu/cpu14/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu15/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu16/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu17/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu18/cpufreq/cpuinfo_max_freq:4600000
> /sys/devices/system/cpu/cpu19/cpufreq/cpuinfo_max_freq:4600000
> 
> Hopefully you have the ear of someone on the firmware team so that a
> ticket can be created for this.
> 
> In Phoronix discussion, users have reported seeing this on both
> ASRock
> and MSI motherboards:
> 
> https://www.phoronix.com/forums/forum/hardware/processors-memory/1541981-intel-core-ultra-9-285k-arrow-lake-performance-on-linux-has-improved-a-lot-since-launch?p=1543676#post1543676
> 
> ----------
> 
> Also, this may be related... I can't set scaling_max_freq to odd
> multiples of 100 MHz, only even. Checking with:
> 
>     x86_energy_perf_policy &| grep -i req
> 
> reveals that some values of max are being skipped. Setting manually
> with
> 
>     x86_energy_perf_policy --cpu 0-7 --hwp-max 76
> 
> allows the odd multiples to be accessed. Integer division issue
> somewhere?
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get scaling factors
  2025-05-01 17:13     ` srinivas pandruvada
@ 2025-05-01 21:33       ` Russell Haley
  2025-05-01 23:12         ` srinivas pandruvada
  0 siblings, 1 reply; 7+ messages in thread
From: Russell Haley @ 2025-05-01 21:33 UTC (permalink / raw)
  To: srinivas pandruvada, Rafael J. Wysocki, Linux PM; +Cc: LKML


On 5/1/25 12:13 PM, srinivas pandruvada wrote:
> Hi Russell,
> 
> 
> On Wed, 2025-04-30 at 20:28 -0500, Russell Haley wrote:
>>
>> On 12/5/24 5:39 AM, Rafael J. Wysocki wrote:
>>
>>> +	 * Compute the perf-to-frequency scaling factor for the
>>> given CPU if
>>> +	 * possible, unless it would be 0.
>>> +	 */
>>> +	if (!cppc_get_perf_caps(cpu, &cppc_perf) &&
>>> +	    cppc_perf.nominal_perf && cppc_perf.nominal_freq)
>>> +		return div_u64(cppc_perf.nominal_freq *
>>> KHZ_PER_MHZ,
>>> +			       cppc_perf.nominal_perf);
>>
> Can you dump the output of
> 
>  grep -r . /sys/devices/system/cpu/cpu*/acpi_cppc/
> 
> Thanks,
> Srinivas

Running microcode 0x117, CSME firmware 19.0.5.1948, shipped in BIOS 3.04
on an ASRock Z890 Pro-A Wifi motherboard:

> /sys/devices/system/cpu/cpu0/acpi_cppc/feedback_ctrs:ref:127316207577 del:142876300546
> /sys/devices/system/cpu/cpu0/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu0/acpi_cppc/highest_perf:87
> /sys/devices/system/cpu/cpu0/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu0/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu0/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu0/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu0/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu0/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu0/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu1/acpi_cppc/feedback_ctrs:ref:30806048910 del:37298826546
> /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu1/acpi_cppc/highest_perf:88
> /sys/devices/system/cpu/cpu1/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu1/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu1/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu1/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu1/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu2/acpi_cppc/feedback_ctrs:ref:30104856912 del:37149315858
> /sys/devices/system/cpu/cpu2/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu2/acpi_cppc/highest_perf:87
> /sys/devices/system/cpu/cpu2/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu2/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu2/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu2/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu2/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu2/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu2/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu3/acpi_cppc/feedback_ctrs:ref:28864792476 del:36395338959
> /sys/devices/system/cpu/cpu3/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu3/acpi_cppc/highest_perf:87
> /sys/devices/system/cpu/cpu3/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu3/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu3/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu3/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu3/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu3/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu3/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu4/acpi_cppc/feedback_ctrs:ref:29591299374 del:35708084379
> /sys/devices/system/cpu/cpu4/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu4/acpi_cppc/highest_perf:87
> /sys/devices/system/cpu/cpu4/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu4/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu4/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu4/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu4/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu4/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu4/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu5/acpi_cppc/feedback_ctrs:ref:27347351382 del:35000915045
> /sys/devices/system/cpu/cpu5/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu5/acpi_cppc/highest_perf:87
> /sys/devices/system/cpu/cpu5/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu5/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu5/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu5/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu5/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu5/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu5/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu6/acpi_cppc/feedback_ctrs:ref:28117737882 del:34854014824
> /sys/devices/system/cpu/cpu6/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu6/acpi_cppc/highest_perf:87
> /sys/devices/system/cpu/cpu6/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu6/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu6/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu6/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu6/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu6/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu6/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu7/acpi_cppc/feedback_ctrs:ref:29586359166 del:36871078184
> /sys/devices/system/cpu/cpu7/acpi_cppc/lowest_nonlinear_perf:36
> /sys/devices/system/cpu/cpu7/acpi_cppc/highest_perf:88
> /sys/devices/system/cpu/cpu7/acpi_cppc/nominal_freq:3900
> /sys/devices/system/cpu/cpu7/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu7/acpi_cppc/guaranteed_perf:63
> /sys/devices/system/cpu/cpu7/acpi_cppc/nominal_perf:62
> /sys/devices/system/cpu/cpu7/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu7/acpi_cppc/reference_perf:62
> /sys/devices/system/cpu/cpu7/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu8/acpi_cppc/feedback_ctrs:ref:28808115336 del:32798153181
> /sys/devices/system/cpu/cpu8/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu8/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu8/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu8/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu8/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu8/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu8/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu8/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu8/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu9/acpi_cppc/feedback_ctrs:ref:28808446524 del:32557156736
> /sys/devices/system/cpu/cpu9/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu9/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu9/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu9/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu9/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu9/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu9/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu9/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu9/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu10/acpi_cppc/feedback_ctrs:ref:28466858472 del:32126528930
> /sys/devices/system/cpu/cpu10/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu10/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu10/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu10/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu10/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu10/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu10/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu10/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu10/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu11/acpi_cppc/feedback_ctrs:ref:30158667240 del:34095663687
> /sys/devices/system/cpu/cpu11/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu11/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu11/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu11/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu11/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu11/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu11/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu11/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu11/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu12/acpi_cppc/feedback_ctrs:ref:29056752036 del:33047611525
> /sys/devices/system/cpu/cpu12/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu12/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu12/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu12/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu12/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu12/acpi_cppc/nominal_perf:33
> /sys/devices/system/cpu/cpu12/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu12/acpi_cppc/reference_perf:39
> /sys/devices/system/cpu/cpu12/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu13/acpi_cppc/feedback_ctrs:ref:28868999796 del:32974873909
> /sys/devices/system/cpu/cpu13/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu13/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu13/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu13/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu13/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu13/acpi_cppc/nominal_perf:33
> /sys/devices/system/cpu/cpu13/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu13/acpi_cppc/reference_perf:39
> /sys/devices/system/cpu/cpu13/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu14/acpi_cppc/feedback_ctrs:ref:32754342192 del:33580705618
> /sys/devices/system/cpu/cpu14/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu14/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu14/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu14/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu14/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu14/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu14/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu14/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu14/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu15/acpi_cppc/feedback_ctrs:ref:30756411036 del:33232643243
> /sys/devices/system/cpu/cpu15/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu15/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu15/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu15/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu15/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu15/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu15/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu15/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu15/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu16/acpi_cppc/feedback_ctrs:ref:29430330384 del:32848376143
> /sys/devices/system/cpu/cpu16/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu16/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu16/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu16/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu16/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu16/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu16/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu16/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu16/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu17/acpi_cppc/feedback_ctrs:ref:29997814080 del:33374419073
> /sys/devices/system/cpu/cpu17/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu17/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu17/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu17/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu17/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu17/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu17/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu17/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu17/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu18/acpi_cppc/feedback_ctrs:ref:28312400376 del:32285787922
> /sys/devices/system/cpu/cpu18/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu18/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu18/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu18/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu18/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu18/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu18/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu18/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu18/acpi_cppc/wraparound_time:18446744073709551615
> /sys/devices/system/cpu/cpu19/acpi_cppc/feedback_ctrs:ref:28316604732 del:32229146887
> /sys/devices/system/cpu/cpu19/acpi_cppc/lowest_nonlinear_perf:21
> /sys/devices/system/cpu/cpu19/acpi_cppc/highest_perf:65
> /sys/devices/system/cpu/cpu19/acpi_cppc/nominal_freq:3300
> /sys/devices/system/cpu/cpu19/acpi_cppc/lowest_freq:0
> /sys/devices/system/cpu/cpu19/acpi_cppc/guaranteed_perf:47
> /sys/devices/system/cpu/cpu19/acpi_cppc/nominal_perf:46
> /sys/devices/system/cpu/cpu19/acpi_cppc/lowest_perf:1
> /sys/devices/system/cpu/cpu19/acpi_cppc/reference_perf:54
> /sys/devices/system/cpu/cpu19/acpi_cppc/wraparound_time:18446744073709551615

Thanks,

Russell


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get scaling factors
  2025-05-01 21:33       ` Russell Haley
@ 2025-05-01 23:12         ` srinivas pandruvada
  0 siblings, 0 replies; 7+ messages in thread
From: srinivas pandruvada @ 2025-05-01 23:12 UTC (permalink / raw)
  To: Russell Haley, Rafael J. Wysocki, Linux PM; +Cc: LKML

On Thu, 2025-05-01 at 16:33 -0500, Russell Haley wrote:
> 
> On 5/1/25 12:13 PM, srinivas pandruvada wrote:
> > Hi Russell,
> > 
> > 
> > On Wed, 2025-04-30 at 20:28 -0500, Russell Haley wrote:
> > > 
> > > On 12/5/24 5:39 AM, Rafael J. Wysocki wrote:
> > > 
> > > > +	 * Compute the perf-to-frequency scaling factor for
> > > > the
> > > > given CPU if
> > > > +	 * possible, unless it would be 0.
> > > > +	 */
> > > > +	if (!cppc_get_perf_caps(cpu, &cppc_perf) &&
> > > > +	    cppc_perf.nominal_perf && cppc_perf.nominal_freq)
> > > > +		return div_u64(cppc_perf.nominal_freq *
> > > > KHZ_PER_MHZ,
> > > > +			       cppc_perf.nominal_perf);
> > > 
> > Can you dump the output of
> > 
> >  grep -r . /sys/devices/system/cpu/cpu*/acpi_cppc/
> > 

For Intel® Core™ Ultra 7 Processor 265K as per spec:

Based on this CPU 0-7 are performance-cores. So there max frequency is
correct.
That can be 5.5 GHz or 5.4 GHz.

CPU 8-19 are Efficient cores
There max can be 4.6 GHz, except CPU 12, 13. 4.6 GHz also match the
spec.
The max perf raw value is 65. That is also correct.
The nominal freq of all is 3300 MHz, that is also correct for all.
Except for CPU 12 and 13 the nominal perf is 46.

I expect that nominal perf value of 12, 13 should be same as other
efficient cores. But here it is not same.

Let me check if I can find some contact of Asrock to see why is this
case.

Thanks,
Srinivas


> > Thanks,
> > Srinivas
> 

> Running microcode 0x117, CSME firmware 19.0.5.1948, shipped in BIOS
> 3.04
> on an ASRock Z890 Pro-A Wifi motherboard:
> 
> > /sys/devices/system/cpu/cpu0/acpi_cppc/feedback_ctrs:ref:1273162075
> > 77 del:142876300546
> > /sys/devices/system/cpu/cpu0/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu0/acpi_cppc/highest_perf:87
> > /sys/devices/system/cpu/cpu0/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu0/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu0/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu0/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu0/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu0/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu0/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu1/acpi_cppc/feedback_ctrs:ref:3080604891
> > 0 del:37298826546
> > /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu1/acpi_cppc/highest_perf:88
> > /sys/devices/system/cpu/cpu1/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu1/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu1/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu1/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu1/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu1/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu2/acpi_cppc/feedback_ctrs:ref:3010485691
> > 2 del:37149315858
> > /sys/devices/system/cpu/cpu2/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu2/acpi_cppc/highest_perf:87
> > /sys/devices/system/cpu/cpu2/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu2/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu2/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu2/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu2/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu2/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu2/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu3/acpi_cppc/feedback_ctrs:ref:2886479247
> > 6 del:36395338959
> > /sys/devices/system/cpu/cpu3/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu3/acpi_cppc/highest_perf:87
> > /sys/devices/system/cpu/cpu3/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu3/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu3/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu3/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu3/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu3/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu3/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu4/acpi_cppc/feedback_ctrs:ref:2959129937
> > 4 del:35708084379
> > /sys/devices/system/cpu/cpu4/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu4/acpi_cppc/highest_perf:87
> > /sys/devices/system/cpu/cpu4/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu4/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu4/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu4/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu4/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu4/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu4/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu5/acpi_cppc/feedback_ctrs:ref:2734735138
> > 2 del:35000915045
> > /sys/devices/system/cpu/cpu5/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu5/acpi_cppc/highest_perf:87
> > /sys/devices/system/cpu/cpu5/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu5/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu5/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu5/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu5/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu5/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu5/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu6/acpi_cppc/feedback_ctrs:ref:2811773788
> > 2 del:34854014824
> > /sys/devices/system/cpu/cpu6/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu6/acpi_cppc/highest_perf:87
> > /sys/devices/system/cpu/cpu6/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu6/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu6/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu6/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu6/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu6/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu6/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu7/acpi_cppc/feedback_ctrs:ref:2958635916
> > 6 del:36871078184
> > /sys/devices/system/cpu/cpu7/acpi_cppc/lowest_nonlinear_perf:36
> > /sys/devices/system/cpu/cpu7/acpi_cppc/highest_perf:88
> > /sys/devices/system/cpu/cpu7/acpi_cppc/nominal_freq:3900
> > /sys/devices/system/cpu/cpu7/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu7/acpi_cppc/guaranteed_perf:63
> > /sys/devices/system/cpu/cpu7/acpi_cppc/nominal_perf:62
> > /sys/devices/system/cpu/cpu7/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu7/acpi_cppc/reference_perf:62
> > /sys/devices/system/cpu/cpu7/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu8/acpi_cppc/feedback_ctrs:ref:2880811533
> > 6 del:32798153181
> > /sys/devices/system/cpu/cpu8/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu8/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu8/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu8/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu8/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu8/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu8/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu8/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu8/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu9/acpi_cppc/feedback_ctrs:ref:2880844652
> > 4 del:32557156736
> > /sys/devices/system/cpu/cpu9/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu9/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu9/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu9/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu9/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu9/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu9/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu9/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu9/acpi_cppc/wraparound_time:184467440737
> > 09551615
> > /sys/devices/system/cpu/cpu10/acpi_cppc/feedback_ctrs:ref:284668584
> > 72 del:32126528930
> > /sys/devices/system/cpu/cpu10/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu10/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu10/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu10/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu10/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu10/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu10/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu10/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu10/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu11/acpi_cppc/feedback_ctrs:ref:301586672
> > 40 del:34095663687
> > /sys/devices/system/cpu/cpu11/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu11/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu11/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu11/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu11/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu11/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu11/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu11/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu11/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu12/acpi_cppc/feedback_ctrs:ref:290567520
> > 36 del:33047611525
> > /sys/devices/system/cpu/cpu12/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu12/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu12/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu12/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu12/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu12/acpi_cppc/nominal_perf:33
> > /sys/devices/system/cpu/cpu12/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu12/acpi_cppc/reference_perf:39
> > /sys/devices/system/cpu/cpu12/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu13/acpi_cppc/feedback_ctrs:ref:288689997
> > 96 del:32974873909
> > /sys/devices/system/cpu/cpu13/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu13/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu13/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu13/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu13/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu13/acpi_cppc/nominal_perf:33
> > /sys/devices/system/cpu/cpu13/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu13/acpi_cppc/reference_perf:39
> > /sys/devices/system/cpu/cpu13/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu14/acpi_cppc/feedback_ctrs:ref:327543421
> > 92 del:33580705618
> > /sys/devices/system/cpu/cpu14/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu14/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu14/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu14/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu14/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu14/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu14/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu14/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu14/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu15/acpi_cppc/feedback_ctrs:ref:307564110
> > 36 del:33232643243
> > /sys/devices/system/cpu/cpu15/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu15/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu15/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu15/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu15/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu15/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu15/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu15/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu15/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu16/acpi_cppc/feedback_ctrs:ref:294303303
> > 84 del:32848376143
> > /sys/devices/system/cpu/cpu16/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu16/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu16/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu16/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu16/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu16/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu16/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu16/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu16/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu17/acpi_cppc/feedback_ctrs:ref:299978140
> > 80 del:33374419073
> > /sys/devices/system/cpu/cpu17/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu17/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu17/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu17/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu17/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu17/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu17/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu17/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu17/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu18/acpi_cppc/feedback_ctrs:ref:283124003
> > 76 del:32285787922
> > /sys/devices/system/cpu/cpu18/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu18/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu18/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu18/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu18/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu18/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu18/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu18/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu18/acpi_cppc/wraparound_time:18446744073
> > 709551615
> > /sys/devices/system/cpu/cpu19/acpi_cppc/feedback_ctrs:ref:283166047
> > 32 del:32229146887
> > /sys/devices/system/cpu/cpu19/acpi_cppc/lowest_nonlinear_perf:21
> > /sys/devices/system/cpu/cpu19/acpi_cppc/highest_perf:65
> > /sys/devices/system/cpu/cpu19/acpi_cppc/nominal_freq:3300
> > /sys/devices/system/cpu/cpu19/acpi_cppc/lowest_freq:0
> > /sys/devices/system/cpu/cpu19/acpi_cppc/guaranteed_perf:47
> > /sys/devices/system/cpu/cpu19/acpi_cppc/nominal_perf:46
> > /sys/devices/system/cpu/cpu19/acpi_cppc/lowest_perf:1
> > /sys/devices/system/cpu/cpu19/acpi_cppc/reference_perf:54
> > /sys/devices/system/cpu/cpu19/acpi_cppc/wraparound_time:18446744073
> > 709551615
> 
> Thanks,
> 
> Russell
> 
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-01 23:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-05 11:30 [PATCH v1 0/2] intel_pstate: Use information from CPPC to compute hybrid scaling factors Rafael J. Wysocki
2024-12-05 11:39 ` [PATCH v1 1/2] cpufreq: intel_pstate: Use CPPC to get " Rafael J. Wysocki
2025-05-01  1:28   ` Russell Haley
2025-05-01 17:13     ` srinivas pandruvada
2025-05-01 21:33       ` Russell Haley
2025-05-01 23:12         ` srinivas pandruvada
2024-12-05 11:40 ` [PATCH v1 2/2] cpufreq: intel_pstate: Drop Arrow Lake from "scaling factor" list Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).