Jump to content

CyrIng

Members
  • Posts

    137
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by CyrIng

  1. Which UI settings you don't get or find as driver parameters ?
  2. Except a missing Bar address for I/O C-States, but not required, everything looks well programmed for Turbo boost. Where is your issue ?
  3. 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
  4. 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.
  5. @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.
  6. @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 ?
  7. What about : insmod /lib/modules /5.19.17-Unraid/extra/corefreqk.ko PState_FID=37
  8. 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
  9. @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.
  10. See in Wiki: CoreFreq as the Clock Source, CPU Freq and CPU Idle driver
  11. 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
  12. 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)
  13. Please use startup parameter `PState_FID=37`
  14. 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.
  15. This is released in CoreFreq `1.93.1` : One can alter the AMD EPP in firmware mode, as will. So far only supported in the patched kernel CONFIG_CACHY
  16. Yes, found this in kernel doc for my Radeon RX 6700 10GB According to AMD PPR datasheets 550 is the lowest frequency and that's something you'll monitor easier with CoreFreq
  17. @skies For example, when `amd_pstate` is correctly working, you can see the Core P-States adjusting as a function of the system load. Press `!` to toggle the frequency view in `Absolute`
  18. amd_pstate I don't have neither `CPPC` within `lscpu` but after inserting module with `modprobe amd_pstate` then you check with `lsmod | grep pstate`. Driver `amd_pstate` should be listed. If not, give a look into the kernel log for any issue. Your prerequisite look similar to mine: `modprobe.blacklist=acpi_cpufreq amd_pstate.shared_mem=1 idle=halt amdgpu.ppfeaturemask=0xffffffff ` Since kernel 6.0 not using `initcall_blacklist=acpi_cpufreq_init` Next search for the `amd_pstate` driver settings: `sudo du -a /sys | grep amd_pstate` What you want is per CPU the following attributes /sys/devices/system/cpu/cpufreq/policy0/amd_pstate_highest_perf /sys/devices/system/cpu/cpufreq/policy0/amd_pstate_lowest_nonlinear_freq /sys/devices/system/cpu/cpufreq/policy0/amd_pstate_max_freq CoreFreq CoreFreq is indeed an autonomous driver and manages CPPC by itself, whatever the manufacturer and the implementation are: Intel, AMD, Firmware Firmware mode In the `Performance Monitoring` you are getting the capabilities: Performance Monitoring |- Continuous Performance Control _CPC [ ON] |- Collaborative Processor Performance Control CPPC <FMW> |- Capabilities Lowest Efficient Guaranteed Highest |- CPU #0 500.00 ( 5) 3499.99 ( 35) 2400.00 ( 24) 4699.99 ( 47) |- CPU #1 500.00 ( 5) 3499.99 ( 35) 2400.00 ( 24) 4699.99 ( 47) |- CPU #2 500.00 ( 5) 3500.00 ( 35) 2400.00 ( 24) 4599.99 ( 46) |- CPU #3 500.00 ( 5) 3499.99 ( 35) 2400.00 ( 24) 4499.99 ( 45) |- CPU #4 500.00 ( 5) 3499.99 ( 35) 2399.99 ( 24) 4199.99 ( 42) |- CPU #5 500.00 ( 5) 3499.99 ( 35) 2399.99 ( 24) 4399.99 ( 44) |- CPU #6 500.00 ( 5) 3499.99 ( 35) 2399.99 ( 24) 4099.99 ( 41) |- CPU #7 500.00 ( 5) 3499.99 ( 35) 2399.99 ( 24) 4299.98 ( 43) In `Processor` you can view and alter the Target frequency ratios: Processor [AMD Ryzen 9 3950X 16-Core Processor] |- Architecture [Zen2/Matisse] |- Performance |- P-State TGT 3499.99 < 35 > |- CPPC Min 500.00 < 5 > Max 4699.99 < 47 > TGT 4699.99 < 47 > Hardware mode You are getting same as Firmware mode but you can also set the Energy Preference. In `Power, Current & Thermal` you can change the Energy hint in `CPPC Energy Preference` Remark: Intel HWP = AMD CPPC Project: Still a Work in Progress, pull the develop branch or ISO image if you want all of these
  19. Anyone to confirm if CoreFreq is working with latest Intel Raptor Lake or AMD Zen4 ?
  20. To get Governor registered, as a prerequisite, order matters. So you have to enable from bottom option to the top one, idle route. Processor settings in CoreFreq are driver parameters. You will enter "modinfo corefreqk" to list them. You can express several parameters as "key=value" when loading corefreqk.ko driver. This is the way to make settings permanent. Check your distribution manual, parameters of Linux kernel modules are usually stored into "/etc/modprobe.conf" To sum up, CoreFreq adopts the Linux standards for its settings.
  21. Once Governor, CPU-FREQ, CPU-IDLE, CPU-IDLE route well registered, you can check for CPPC in Performance Monitoring window where you'll read the frequency ratios defined by firmware. You can then as will enable or disable CPPC managed by firmware. You now press shortcut `!` to toggle frequencies in absolute mode. Should be your default base clock. You press `p` for the Processor window and scroll down to CPPC where you can modify the target frequency (TGT) for the whole processor (HWP-TGT) For exemple, here TGT is change to the ratio of 7 for a processor frequency capped to 700 MHz You can restore the Target to the BCLK, mine is ratio 35 Don't forget to disable CPPC when no more in used but be aware last Target is locking frequency. Please restore to BCLK before.
  22. Hello, Here relevant part of my Kernel command line: modprobe.blacklist=pcspkr,k10temp,sp5100_tco,acpi_cpufreq,eeepc_wmi,mxm_wmi,wmi_bmof,asus_wmi,wmi amd_pstate.shared_mem=1 idle=halt It should start empty, at least TSC, as shown in kernel window screenshot Then you register all drivers in Settings window. Select twice CPU-Idle route to <I/O> Once route is <I/O> you will notice C-states happen in C2:C3 You can now go into Kernel window to change limit to C6 Btw you can also select Clock Source as corefreq_tsc rather than Linux kernel TSC As shown, C-States are now up to C6 Cyril
  23. Bad news. Received a laptop 6600H based where Rembrandt has no HSMP, most SMU registers I need for voltage Vcore and UMC memory controller are empty. Fortunately legacy p-state, CPUID, Thermal are still monitoring OK. So far I've not found a registers datasheet of this Zen3+ ... and I fear it may be worst with Zen4 (but no test received)
  24. That indeed will be nice when the EPP patch gets into mainstream, especially: +EXPORT_SYMBOL_GPL(cppc_get_epp_caps); +EXPORT_SYMBOL_GPL(cppc_set_epp_perf);
  25. I have found the HSMP protocol into the EPYC datasheet; and probably also the same specs for ThreadRippers. Except some HEDT Deskop Ryzen 3950X, 5950X, I have also noticed that HSMP is not implemented into Ryzen APU, like my laptop 5300U
×
×
  • Create New...