* [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
* 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
* [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
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
all inboxes | Powered by JetHome®