Re: cpufreq-info and acpi-cpufreq: reporting MSR_IA32_PERF_CTL as "actual frequency"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On 25 November 2014 at 22:51, Magdalena Dobosz <maj.dobosz@xxxxxxxxx> wrote:
> Hi,
> I was analyzing the code and behaviour of cpufrequtils (kernel 3.13).
> I noticed that the value reported by cpufreq-info as the frequency
> "asserted by call to hardware" (exported to sysfs as
> "cpuinfo_cur_freq") is always the same as the value reported as the
> frequency requested by a governor (exported to sysfs as "freq", stored
> in policy->cur).
> It was not the case for kernel 3.2 (these two values tend to differ).
> I found a reason: while using acpi-cpufreq driver, the value reported
> as hardware frequency is retrieved using  get_cur_freq_on_cpu function
> (defined in acpi-cpufreq). Now, in kernel version 3.2 this function
> reads a value from MSR_IA32_PERF_STATUS, while in kernel 3.13 it reads
> It is a result of the patch shown below:
> It looks like a bug for me - we take a requested frequency (control
> register) and we report it as "cpuinfo_cur_freq - Current frequency of
> the CPU as obtained from the hardware, in KHz. This is the frequency
> the CPU actually runs at." (as desribed in cpufrequtils documentation:
>";. I
> believe we should read status register (MSR_IA32_PERF_STATUS) instead.

Fixed list and cc'd few more.

This is what Len Brown said to that patch:

Ack -- MSR_IA32_PERF_STATUS is ill-conceived.  It is un-reliable
by its very definition.  Any code that depends on it should be questioned...

@Dirk: Can you help ?
To unsubscribe from this list: send the line "unsubscribe cpufreq" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at

[Index of Archives]     [Linux Kernel Devel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Forum]     [Linux SCSI]

  Powered by Linux