Everything posted by CyrIng
-
[Plugin] CoreFreq
Changing C-States happens in the "Kernel" window (k) but there are prerequisites like making CoreFreq the "CPU-Idle" handler. Once confirmed in the Settings window (s) that "CPU-IDLE driver" is "<ON>" and a "CPU-IDLE route" is selected to one of the preferably Intel: M-Wait or AMD: I/O then you can select the C-States in "Idle Limit" selector
-
Erlaubt der neue Linux Kernel stromsparende AMD Server?
Yes, software only with AMD With Intel, C-States come from directly hardware Why AMD does not specify its C-State counters ?
-
[Plugin] CoreFreq
I believe we have the same or similar issue handled in this post at github.com/cyring/CoreFreq/discussions/320#discussioncomment-8001208
-
[Plugin] CoreFreq
Thank you very much. Fyi, next version of CoreFreq is developed in github.com/cyring/CoreFreq/tree/develop
-
[Plugin] CoreFreq
@Alyred Just please show me your CoreFreq screenshots when your System is up.
-
[Plugin] CoreFreq
For all Cores simultaneously you are getting the advertised frequency of 3.6 GHz As mentioned in the Xeon E-2234 specifications; for a turbo boosted single Core, you should expect a max frequency of 4.8 GHz To reach such frequency with CoreFreq, open menu "Tools" (shortkey O), select "Turbo < Select CPU >" and choose one of your (best) Core. Frequency should go above 3.6 and getting close to 4.8 GHz if Turbo boost and its prerequisites are well setup. If not, go to "Processor" window (press p) and check that 1C is set to ratio 48 Make sure "TURBO" is highlighted in the bottom screen; if not, enable it in the "Technologies" window (press t) in addition to EIST aka SpeedStep Still no single Core turbo boost, make sure an idle C-State handler is activated in your kernel: press k to open window "Kernel" and check that a "CPU-Idle driver" is registered with idle states. If not solve it from your distribution or the kernel boot command line.
-
[Plugin] CoreFreq
Yes you can. From the UI "Settings" (F2) menu, go to "HotPlug CPU" then select/scroll to the CPU number to toggle its state from Enable to Disable
-
[Plugin] CoreFreq
Unfortunately no such feature to keep Turbo stressing triggered right at CoreFreq startup. CPU stressing functions are activated manually from the UI. Those functions have been created to verify the processor operating limits like max frequency, max temperature, max voltage, max watts and so on. Package cpu-burn might be what you need. According to your screenshot, the parameters are `ThermalScope`, `VoltageScope` and `PowerScope` For these 3 parameters, values are `0:None; 1:SMT; 2:Core; 3:Package` For the others, see my above advices answered to @Bernd Matthießen @ich777 is btw providing all startup parameters within his Plugin help.
-
[Plugin] CoreFreq
`AutoClock=2` is the default. You can force use it. 0: Pure specs BCLK 1: Estimate BCLK once during driver startup 2: Estimate BCLK at every monitoring loop Remark: Parameter case matters in CoreFreq. I did it on a purpose because I don't want Users to mess up with hardware without understanding the parameter meaning Thus, spelling is `AutoClock` That's not programmed for Ryzen yet. It's on the to-do list. Please follow the development branch for early testings. Because your Processor is managed by the kernel module `amd-pstate` If you want CoreFreq to fully control CPPC, you have to prevent `amd-pstate` from being auto-load by Kernel. Please see the instructions to blacklist any "CPU-Freq driver" Syntax looks OK to me
-
[Plugin] CoreFreq
## corefreqk.conf Register_ClockSource=1 Register_Governor=1 Register_CPU_Idle=1 Register_CPU_Freq=1 PkgCStateLimit=6 NMI_Disable=0 AutoClock=1 HWP_Enable=1 Ratio_HWP=-1,-1,47 echo "corefreq_tsc" > /sys/devices/system/clocksource/clocksource0/current_clocksource After reviewing code, I have noticed that: PkgCStateLimit is not implemented with AMD/Zen yet HWP_Enable only works with Zen MSR registers HWP capable. Parameter is not implemented for CPPC Firmware mode yet
-
[Plugin] CoreFreq
The thing with HWP is that it is auto-managed by Processor. What you set is a frequency ratio request. You may succed by constraining between a HWP Min and a HWP Max value but also a HWP Target, try all at 37 EDIT: And also give a try to the HWP-EPP Energy Profile hint. HWP (Intel) or CPPC (AMD) EPP effect is to limit frequency. Driver parameter is `HWP_EPP` with a range value between 0 (No Energy savings) and 255 (Max savings) EPP is also available in the UI, within the window "Power, Current & Thermal"
-
[Plugin] CoreFreq
Which UI settings you don't get or find as driver parameters ?
-
[Plugin] CoreFreq
Except a missing Bar address for I/O C-States, but not required, everything looks well programmed for Turbo boost. Where is your issue ?
-
[Plugin] CoreFreq
static signed int Ratio_HWP[1 + (BOOST(HWP_TGT) - BOOST(HWP_MIN))] = { /* HWP_MIN */ -1, /* HWP_MAX */ -1, /* HWP_TGT */ -1 }; So the right parameter you need is: Ratio_HWP=-1,37,-1
-
Erlaubt der neue Linux Kernel stromsparende AMD Server?
Ryzen Processors remain p-state driven in any case. Contrary to mainline kernel drivers which automatically select p-states, CoreFreq provides you a mean to submit manually the "Frequency IDs" (see TGT target) or to reprogram P1, P2 p-state's coefficient of frequency (COF) When CoreFreq is CPU-Idle master will offer you two features : 1. "Idle route" : asm functions in which kernel will be asked to Idle. Halt, Monitor-Mwait, I/O mwait. Route can be selected from the UI window [Settings] 2. C-States Limit from UI window [Kernel] Those low C-States counters are unfortunately not specified by AMD thus I'm measuring the TSC time spent by kernel within each state.
-
[Plugin] CoreFreq
@Nuke I believe from the UI you have disabled Turbo Boost prior altering the Max Frequency. You may also have register CoreFreq as CPU-Freq handler. In fact you have to do the same with parameters. Disabling Turbo Boost is a prerequisite because the max FID affects the P0 pstate. I thus have to calibrate kernel clock against TSC right after FID changed. Sorry for that late precision, I'm far from office for a while with smartphone only. Free free to ask. Btw, Pstate FID is reserved to AMD architectures only.
-
[Plugin] CoreFreq
@Nuke I'm trying to verify if parameters are effectively submitted to driver. `insmod` is distribution independent. Immediately after inserting module, check kernel log (`dmesg`) for parameter reject or not ?
-
[Plugin] CoreFreq
What about : insmod /lib/modules /5.19.17-Unraid/extra/corefreqk.ko PState_FID=37
-
[Plugin] CoreFreq
Please add parameter Experimental=1 Then verify the obtained frequency If still ko, can you try manually from a terminal ? First unload any running instance of CoreFreq: 1. corefreq-cli 2. corefreqd 3. driver with `rmmod corefreqk` Next start directly CoreFreq with the parameter: 1. Change to directory of the driver 1. insmod corefreqk.ko PState_FID=37 2. corefreqd 3. corefreq-cli Check the resulting frequency
-
Erlaubt der neue Linux Kernel stromsparende AMD Server?
@ich777 is now providing changes to his Plugin for parameters. This is a kernel requirement to register a Governor before a CPU-Idle handler. You have to follow that order with CoreFreq.
-
Erlaubt der neue Linux Kernel stromsparende AMD Server?
See in Wiki: CoreFreq as the Clock Source, CPU Freq and CPU Idle driver
-
[Plugin] CoreFreq
Press key p to open the "Processor" window and scroll down to bottom. You can also export the same using option: corefreq-cli -s Then post the output as code in reply. Turbo boost is a multifactorial feature: * IDA available * Speed Step Enable * C-States activated * Idle loop using mwait or I/O-wait operating by kernel * Boosted frequencies well programmed in descending orders from single to all (ie 8 simultaneous) core(s) * Target Frequency P-state equal BCLK (Max Ratio) plus at least one bin + TDP > Turbo Activation : preferably set to Auto (aka value zero) * No other limitation such as ODCM or Energy Policy Bias Hint or misc PL (Power Limiters) A competitive feature is HWP which follows rules of desired Frequency requests. HWP has a programmable Target and Max ratios you'll set in the Processor window. An Energy EPP scaler in window shortkey `o` Remarks: * Prerequisite is to activate HWP. Press `z` key to enable or check its current state * HWP can only be disabled by reboot. * BIOS is also managing HWP * Kernel is also attempting to activate HWP You have to check by which Engine is governed your CPU. HWP or Turbo Boost ? FYI the closest CFL Xeon I had logged is this E-2246G
-
[Plugin] CoreFreq
Right after starting up with parameter `TurboBoost_Enable=1` please show me how are programmed the boosted frequency ratios in the UI window called Processor ? (those are `1C`, `2C` and so on)
-
[Plugin] CoreFreq
Please use startup parameter `PState_FID=37`
-
Erlaubt der neue Linux Kernel stromsparende AMD Server?
Hi Be aware 7950X is still a work in progress. See development issue #378 for any news or contributions. CPPC is divided into 2 processor implementations: Hardware with MSR registers Firmware with ACPI registers In hardware mode, CPPC can be stated as green because there is a dedicated MSR register to enable CPPC. (same as Intel HWP) In firmware mode, ACPI calls are handled by the Linux kernel. CoreFreq is using this route for ACPI. But no Kernel function is exposed to state the ACPI/CPPC. One can blindly enable/disable as will; that's why label is shown as blue. However in the [Performance Monitoring] window are listed the CPU's frequency capabilities; those are non zero when firmware is currently driving CPPC. You can use this as an indicator.