[AMD][Zen2] Unimplemented Edit Min CPU Frequency #234
Replies: 9 comments
-
Hello, Thank you for using CoreFreq So far, I've not find a mean to rewrite the Min Frequency Ratio. Line 5280 in b263200
... we found a CPU FID of thus we use formula
... The Ratio is unchanged.
|
Beta Was this translation helpful? Give feedback.
-
Thank you very much for your fast response. That's a bit unfortunate. I tried using I had a look at the code to try to figure out C-States address and layout so I could give it a try without bothering you, but it is not as straightforward as I need it to be given my very limited knowledge on this topic. |
Beta Was this translation helpful? Give feedback.
-
I have not found any such register which deals about C-State and an associated frequency.
In short, those |
Beta Was this translation helpful? Give feedback.
-
Thank you very much again for your fast and detailed response.
I see. That is very clever. Despite those virtual performance counters not being 100% accurate, they are accurate enough to see that C1 frequency is too low for my needs (around 3.6GHz).
Yes, I have been playing with idle limits (C1/poll) to see what suits me best. Long story short, I am running a latency-sensible workload. Unfortunately, the CPU's default boosting behaviour doesn't do a good job at maintaining high frequencies, probably because the workload is too light. The main thread's core's frequency is constantly jumping between 3.8GHz and 4.4Ghz. Each thread has a single physical core assigned to it, in combination with Ideally, I'd like each core to be at its maximum possible frequency at all times without polling during idle, so other cores have more power and temperature headroom to boost higher. Basically having the benefits of idle-polling without its drawbacks. I can't think of anything else to achieve those results, but if you have any ideas please let me know. I'll be more than happy to explore other avenues. Thank you very much again for your time. |
Beta Was this translation helpful? Give feedback.
-
Have you tried something like zenstates.py? ex https://github.com/r4m0n/ZenStates-Linux/blob/master/zenstates.py I run into the same issues especially with early threadrippers. |
Beta Was this translation helpful? Give feedback.
-
I gave it a quick try, but unfortunately it doesn't offer any benefits over CoreFreq. Thank you for mentioning though. |
Beta Was this translation helpful? Give feedback.
-
Wasn't aware corefreq could edit pstates though? |
Beta Was this translation helpful? Give feedback.
-
I don't really need to. Editing Max frequency has the same effect |
Beta Was this translation helpful? Give feedback.
-
Maybe I misunderstood your intent. I thought the issue was clock variably with the cpu staying too low thus causing latency spikes? You can force the cpu to hold on one clock by disabling all but one P-state (or whatever fits your use). How high depends on your hardware. I can absolutely attest to Zen hardware doing weird things, one of which is instability with hpet and tsc. |
Beta Was this translation helpful? Give feedback.
-
First of all, congratulations for the amazing job.
I am trying to adjust Min and Max frequencies on a Ryzen 3900X. Adjusting Max Frequency works flawlessly, but when I try to change Min Frequency, it says "Feature is not implemented". I tried both main and develop branches.
Kernel
5.6.0-050600-lowlatency
Kernel params
cpufreq.off=1 modprobe.blacklist=acpi_cpufreq,pcc_cpufreq idle=halt tsc=unstable notsc nowatchdog
ko params
Register_ClockSource=1 Register_Governor=1 Register_CPU_Freq=1 Register_CPU_Idle=1 Idle_Route=1 Experimental=1 PC6_Enable=0 Clock_Ratio_Unlock=3
Alternatively, is it possible to change C1 frequency?
Thank you very much in advance.
Beta Was this translation helpful? Give feedback.
All reactions