[Plugin] CoreFreq


Recommended Posts

9 hours ago, CameraRick said:

sure, there you go :)

From what I see in your Diagnostics nothing is left over from CoreFreq and also the driver that caused the issue "corefreqk" is also not loaded.

 

Is it maybe possible that you after you've uninstalled CoreFreq that you didn't reboot? That's the only thing I can think of.

You actually have to reboot after removing the plugin, the plugin also brings up a message that tells you to reboot at the removal screen.

Link to comment

If you got a error message like this while upgrading to 6.10.0:

image.png.7ebcf360893c414bc2e76420b972dcd5.png

 

You can safely ignore that, the plugins are already built and this is caused because the Kernel detection fails on 6.10.0

 

The plugin packages will be downloaded on boot (as long as there is an active Internet connection on boot).

Link to comment
  • 3 weeks later...
19 minutes ago, Presjar said:

Hello. Was it ever worked out why the changes to the config/settings was not carried over between reboots?

Yes, should work now if you upgrade to 6.10.1 or 6.10.2 or even downgrade to any version (except for 6.10.0 because there is a bug in it that prevents the Plugin Update Helper from working correctly).

Link to comment
On 6/9/2022 at 1:41 AM, ich777 said:

Yes, should work now if you upgrade to 6.10.1 or 6.10.2 or even downgrade to any version (except for 6.10.0 because there is a bug in it that prevents the Plugin Update Helper from working correctly).

 

I have been on 6.10.2 and now moved to 6.10.3. I can see the corefreq.cfg file has an updated datestamp and includes my changes to cpu multipliers. However after a server reboot, the corefreq-cli ui shows all the default cpu values. 

 

The above has been the case since starting to play with corefreq-cli. Seems to not load from the corefreq.cfg file.

 

Am I missing something basic haha.

unraid1-diagnostics-20220615-2252.zip

Edited by Presjar
Link to comment
49 minutes ago, Presjar said:

The above has been the case since starting to play with corefreq-cli. Seems to not load from the corefreq.cfg file.

Can you try to check if the file has any contents or even exists with:

/root/.config/CoreFreq/corefreq.cfg

 

and also please check if this file exists:

/boot/config/plugins/corefreq/corefreq.cfg

 

Have you enabled the CoreFreq service and also the Autostart here:

image.thumb.png.9c60d75880d8ced4047015ec30bf3f29.png

 

 

What kind of settings do you want to save exactly? Can you please also share some screenshots?

Link to comment

 

1 hour ago, ich777 said:

Can you try to check if the file has any contents or even exists with:

 

Yes looks like /root/.config/CoreFreq/corefreq.cfg is a link to the boot/config version?

 

root@UNRAID1:~/.config/CoreFreq# ls

corefreq.cfg@

 

root@UNRAID1:~/.config/CoreFreq# ls -l

lrwxrwxrwx 1 root root 42 Jun 15 22:21 corefreq.cfg -> /boot/config/plugins/corefreq/corefreq.cfg

 

I can open the .cfg via either path.

 

1 hour ago, ich777 said:

Have you enabled the CoreFreq service and also the Autostart here:

CoreFreq Daemon and Autostart is active as per this image.

 

1 hour ago, ich777 said:

What kind of settings do you want to save exactly?

I thought that the cpu multipliers for base and turbo boost might save / restore at boot. 

 

I was trying to set 3.0GHz as the max any core can go rather than 4.9GHz.

Screenshot_20220616-010456_JuiceSSH.png

Screenshot_20220616-010742_JuiceSSH.png

Screenshot_20220616-010810_JuiceSSH.png

Link to comment

corefreq.cfg has been made for the UI purpose only.

Mainly that file will save the windows disposal.

 

Features involving Processor are not saved at any time.

 

After tuning processor, you decide to associate safe values to the driver parameters as permanent startup settings.

 

Remark: so far Turbo Boost ratios are not available as driver parameter.

 

All parameters can be listed using the Linux command modinfo

 

Next you'll set "parameter=value" list in file /etc/modprobe.d/modprobe.conf

 

 

modinfo corefreqk
filename:       /lib/modules/5.19.0-rc2-1-mainline/kernel/drivers/misc/corefreqk.ko
version:        1.92.0
license:        GPL
description:    CoreFreq Processor Driver
author:         CYRIL INGENIERIE <labs[at]cyring[dot]fr>
srcversion:     3D9694DC2223B90FADF93D5
depends:        
retpoline:      Y
name:           corefreqk
vermagic:       5.19.0-rc2-1-mainline SMP preempt mod_unload 
parm:           ArchID:Force an architecture (ID) (int)
parm:           AutoClock:Estimate Clock Frequency 0:Spec; 1:Once; 2:Auto (int)
parm:           SleepInterval:Timer interval (ms) (uint)
parm:           TickInterval:System requested interval (ms) (uint)
parm:           Experimental:Enable features under development (int)
parm:           CPU_Count:-1:Kernel(default); 0:Hardware; >0: User value (int)
parm:           Target_Ratio_Unlock:1:Target Ratio Unlock; 0:Lock (short)
parm:           Clock_Ratio_Unlock:1:MinRatio; 2:MaxRatio; 3:Both Unlock (short)
parm:           Turbo_Ratio_Unlock:1:Turbo Ratio Unlock; 0:Lock (short)
parm:           Uncore_Ratio_Unlock:1:Uncore Ratio Unlock; 0:Lock (short)
parm:           ServiceProcessor:Select a CPU to run services with (int)
parm:           RDPMC_Enable:Enable RDPMC bit in CR4 register (ushort)
parm:           NMI_Disable:Disable the NMI Handler (ushort)
parm:           Override_SubCstate:Override Sub C-States (array of ushort)
parm:           PkgCStateLimit:Package C-State Limit (short)
parm:           IOMWAIT_Enable:I/O MWAIT Redirection Enable (short)
parm:           CStateIORedir:Power Mgmt IO Redirection C-State (short)
parm:           Config_TDP_Level:Config TDP Control Level (short)
parm:           Custom_TDP_Offset:TDP Limit Offset (watt) (array of short)
parm:           PowerTimeWindow:Power Limit PL(n) Time Window (array of short)
parm:           Activate_TDP_Limit:Activate TDP Limiting (array of short)
parm:           Activate_TDP_Clamp:Activate TDP Clamping (array of short)
parm:           Custom_TDC_Offset:TDC Limit Offset (amp) (short)
parm:           Activate_TDC_Limit:Activate TDC Limiting (short)
parm:           L1_HW_PREFETCH_Disable:Disable L1 HW Prefetcher (short)
parm:           L1_HW_IP_PREFETCH_Disable:Disable L1 HW IP Prefetcher (short)
parm:           L2_HW_PREFETCH_Disable:Disable L2 HW Prefetcher (short)
parm:           L2_HW_CL_PREFETCH_Disable:Disable L2 HW CL Prefetcher (short)
parm:           SpeedStep_Enable:Enable SpeedStep (short)
parm:           C1E_Enable:Enable SpeedStep C1E (short)
parm:           TurboBoost_Enable:Enable Turbo Boost (short)
parm:           C3A_Enable:Enable C3 Auto Demotion (short)
parm:           C1A_Enable:Enable C3 Auto Demotion (short)
parm:           C3U_Enable:Enable C3 UnDemotion (short)
parm:           C1U_Enable:Enable C1 UnDemotion (short)
parm:           CC6_Enable:Enable Core C6 State (short)
parm:           PC6_Enable:Enable Package C6 State (short)
parm:           ODCM_Enable:Enable On-Demand Clock Modulation (short)
parm:           ODCM_DutyCycle:ODCM DutyCycle [0-7] | [0-14] (short)
parm:           PowerMGMT_Unlock:Unlock Power Management (short)
parm:           PowerPolicy:Power Policy Preference [0-15] (short)
parm:           Turbo_Activation_Ratio:Turbo Activation Ratio (short)
parm:           PState_FID:P-State Frequency Id (int)
parm:           PState_VID:P-State Voltage Id (int)
parm:           HWP_Enable:Hardware-Controlled Performance States (short)
parm:           HWP_EPP:Energy Performance Preference (short)
parm:           HDC_Enable:Hardware Duty Cycling (short)
parm:           EEO_Disable:Disable Energy Efficiency Optimization (short)
parm:           R2H_Disable:Disable Race to Halt (short)
parm:           Clear_Events:Clear Thermal and Power Events (ullong)
parm:           ThermalPoint:Thermal Point (array of short)
parm:           PkgThermalPoint:Package Thermal Point (array of short)
parm:           ThermalScope:[0:None; 1:SMT; 2:Core; 3:Package] (int)
parm:           VoltageScope:[0:None; 1:SMT; 2:Core; 3:Package] (int)
parm:           PowerScope:[0:None; 1:SMT; 2:Core; 3:Package] (int)
parm:           Register_CPU_Idle:Register the Kernel cpuidle driver (short)
parm:           Register_CPU_Freq:Register the Kernel cpufreq driver (short)
parm:           Register_Governor:Register the Kernel governor (short)
parm:           Register_ClockSource:Register Clock Source driver (short)
parm:           Idle_Route:[0:Default; 1:I/O; 2:HALT; 3:MWAIT] (short)
parm:           Mech_IBRS:Mitigation Mechanism IBRS (short)
parm:           Mech_STIBP:Mitigation Mechanism STIBP (short)
parm:           Mech_SSBD:Mitigation Mechanism SSBD (short)
parm:           Mech_IBPB:Mitigation Mechanism IBPB (short)
parm:           Mech_L1D_FLUSH:Mitigation Mechanism Cache L1D Flush (short)
parm:           Mech_PSFD:Mitigation Mechanism PSFD (short)
parm:           WDT_Enable:Watchdog Hardware Timer (short)
parm:           HSMP_Attempt:Attempt the HSMP interface (short)

 

I will come back with the Turbo Boost ratios ability.

  • Thanks 2
Link to comment
9 hours ago, Presjar said:

@CyrIng @ich777

Thanks very much to you both. That makes sense now. Apologies I didnt understand this originally.

 

 

Thanks for using CoreFreq.

 

Noticing that dim grey color is not showing up in the screenshots : can you tell which Terminal is used or if the colors palette was changed from Linux standard ?

Link to comment
On 6/18/2022 at 1:18 PM, Presjar said:

@CyrIng @ich777

Thanks very much to you both. That makes sense now. Apologies I didnt understand this originally.

 

 

For your testings are available 2 new startup parameters:

* Ratio_Boost

* Ratio_HWP

Pull develop branch at https://github.com/cyring/CoreFreq/tree/develop

 

For example:

insmod corefreqk.ko Ratio_Boost=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,24 TurboBoost_Enable=0,1

 

Which means, from Turbo ratio 18C down to 1C, value -1 keep current hardware ratio, other positive is your new Turbo frequency ratio

 

 

Special case of AMD/Zen:

Parameter TurboBoost_Enable=0,1 means value 0 at first to disable Turbo and allow changing P-State ratio from list Ratio_Boost ; at second, value 1 means restore Turbo after changed.

This is not required with Intel.

  • Thanks 1
Link to comment
  • 4 weeks later...
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.