On Thu, May 13, 2021 at 06:12:14PM +0800, Ingo Molnar wrote:
- Huang Rui ray.huang@amd.com wrote:
On Thu, May 13, 2021 at 06:59:02AM +0800, Ingo Molnar wrote:
- Alexander Monakov amonakov@ispras.ru wrote:
On Sun, 25 Apr 2021, Huang Rui wrote:
Some AMD Ryzen generations has different calculation method on maximum perf. 255 is not for all asics, some specific generations should use 166 as the maximum perf. Otherwise, it will report incorrect frequency value like below:
The commit message says '255', but the code:
--- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -1170,3 +1170,19 @@ void set_dr_addr_mask(unsigned long mask, int dr) break; } }
+u32 amd_get_highest_perf(void) +{
- struct cpuinfo_x86 *c = &boot_cpu_data;
- if (c->x86 == 0x17 && ((c->x86_model >= 0x30 && c->x86_model < 0x40) ||
(c->x86_model >= 0x70 && c->x86_model < 0x80)))
return 166;
- if (c->x86 == 0x19 && ((c->x86_model >= 0x20 && c->x86_model < 0x30) ||
(c->x86_model >= 0x40 && c->x86_model < 0x70)))
return 166;
- return 225;
+}
says 225? This is probably a typo? In any case they are out of sync.
Alexander
Ugh - that's indeed a good question ...
Ah sorry! It's my typo. It should be 255 (confirmed in the ucode).
Alexander, thanks a lot to catch this!
Ingo, would you mind to update it from 225 -> 255 while you apply this patch or let me know if you want me to send v5?
No need to send v5, done!
I have a system that appears to be affected by this bug:
kepler:~> lscpu | grep -i mhz CPU MHz: 4000.000 CPU max MHz: 7140.6250 CPU min MHz: 2200.0000
So I should be able to confirm after a reboot.
Thanks! Please feel free to let me know whether it's able to fix your machine. :-)
Thanks, Ray