Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[8600G] Ryzen C States Are Zero > C1 #84

Closed
EUA opened this issue Oct 10, 2018 · 46 comments
Closed

[8600G] Ryzen C States Are Zero > C1 #84

EUA opened this issue Oct 10, 2018 · 46 comments
Labels

Comments

@EUA
Copy link

EUA commented Oct 10, 2018

Hi,
Thanks for great program.
I got Ryzen 1700 with B350 MB. I enabled deep sleep at bios etc...
I tried to do everything but don't have any success.

corefreq only shows Turbo, C0 and C1 states.
It shown at program that (CC6 & PC6 green) but C3/C6/C7 counters are always zero at frequency and Idle C-states view.

--- Freq(MHz) Ratio - Turbo --- C0 ---- C1 ---- C3 ---- C6 ---- C7 --Min TMP Max ----
#0   180.76 ( 2.29)   6.04%   6.87%  93.13%   0.00%   0.00%   0.00%  0  /  0/  0
#1   115.44 ( 1.16)   3.04%   3.92%  96.08%   0.00%   0.00%   0.00%  0  /  0/  0
#2   190.43 ( 1.91)   5.02%   7.40%  92.60%   0.00%   0.00%   0.00%  0  /  0/  0
#3   319.41 ( 3.20)   8.42%  11.72%  88.28%   0.00%   0.00%   0.00%  0  /  0/  0
...

Why does C3/C6/C7 states not supported by CoreFreq?

PS: using cpupower monitor give this result.

    | Mperf              || Idle_Stats         
 CPU| C0   | Cx   | Freq  || POLL | C1   | C2    
   0|  7,33| 92,67|  1794||  0,00|  4,37| 88,32
   1|  3,91| 96,09|  1954||  0,00|  6,44| 89,58
   2|  3,52| 96,48|  1702||  0,00|  7,90| 88,86
...
@cyring
Copy link
Owner

cyring commented Oct 12, 2018

Hello,

C3/C6/C7 are implemented for Intel Processors only.
The UI just shows the placeholder for counters as zero.

It might be feasible to read above C3 but I don't read those counters specifications in AMD Zen doc.

CC6 & PC6 are undocumented bits. See project ZenState

C2 is something I have to look at...

@cyring cyring added the question label Nov 8, 2018
@cyring
Copy link
Owner

cyring commented Nov 10, 2018

Based on cpuidle.c source code, can you print :

cat /sys/devices/system/cpu/cpu0/cpuidle/state?/name

By the way, you should read the same in the 'Kernel Data' window
2018-11-10-095257_804x644_scrot

@EUA
Copy link
Author

EUA commented Nov 12, 2018

# cat /sys/devices/system/cpu/cpu0/cpuidle/state?/name
POLL
C1
C2

I think RyZen micro-code does not export all C states to Linux Kernel.

@cyring
Copy link
Owner

cyring commented Nov 13, 2018

Is this the same with Windows software ?
Such as ThrottleStop

@EUA
Copy link
Author

EUA commented Nov 17, 2018

Oopps. CPU is not supported by ThrottleStop

@cyring
Copy link
Owner

cyring commented Nov 17, 2018

Perhaps in the EFI/BIOS or the AMD software, but googling for Zen C-States doesn't show any monitoring of deep idle states.

@cyring
Copy link
Owner

cyring commented Dec 1, 2018

I'm closing this issue but feel to try the experimental Zen overclocking @ issue #87

@cyring cyring closed this as completed Dec 1, 2018
@cyring
Copy link
Owner

cyring commented Jul 6, 2020

Hello,
Among the last changes in issue #195 , an I/O ASM access to the FCH have been added: can you please check if the last CoreFreq version is starting fine ?
Thank you

This was referenced Dec 28, 2022
@EUA
Copy link
Author

EUA commented Mar 13, 2024

Hello. Don't know why but I missed this notifications.

My older board is broken. Will try solder new mosfets next week...

Now I have 8600G CPU. I compiled from git-trunk and saw that;
Still only C0 and C1 available while cpupower idle-info shows C2 and C3 states for my 8600G
Also at windows, HWiNFO able to show C6 states of processors proper.
CoreFreq able to show C2/3/6 is enabled:

Screenshot from 2024-03-13 03-23-39

Don't know if "I/O ASM access to the FCH" improvements are enabled supported on my board/cpu. Might be, they work on old architectures. If any data required to you for implement your program, I can send any kind of dump.

When I able to repair my AM4 board, try to run cpufreqd on it to see if there are any improvement on C states with x1700 and 5700G CPUs.
Thanks.

@cyring
Copy link
Owner

cyring commented Mar 13, 2024

@EUA

CoreFreq able to show C2/3/6 is enabled:

Here Core C6 State and Package C6 State mean they are detected as enabled (from Registers)
However I still miss the hardware counters specification since Zen 1 to read straight from some registers the number of cycles elapsed per C-States.

With Intel processors, those values are easily read from MSR registers.
See the great article from Mete Balci: A Minimum Complete Tutorial of CPU Power Management, C-states and P-states


Meanwhile I had implemented software kernel counters down to C6
( make sure to pull latest commits from branch master )

Just start driver with these parameters:

insmod build/corefreqk.ko Register_ClockSource=1 Register_Governor=1 Register_CPU_Idle=1 Register_CPU_Freq=1

echo "corefreq_tsc" > /sys/devices/system/clocksource/clocksource0/current_clocksource

You can then alternate as will the idle limit from the UI window named Kernel

You will have to unload or prevent any other driver to act as CPU-Idle, CPU-Freq and ClockSource.
They have to be Missing prior registering CoreFreq

See Wiki/CoreFreq as the Clock Source, CPU Freq and CPU Idle driver

When done, please provide me, using Mardown format, the output of the following CLI

build/corefreq-cli -s -n -m -n -B -n -M -n -k -n -C 1 -n -i 1 -n -V 1 -n -W 1 -n -c 1

@cyring cyring reopened this Mar 13, 2024
@cyring cyring changed the title Ryzen C States Are Zero > C1 [8600G] Ryzen C States Are Zero > C1 Mar 13, 2024
@cyring cyring removed the question label Mar 13, 2024
@EUA
Copy link
Author

EUA commented Mar 14, 2024

Hello there.
Thanks for quick reply.
I just loaded my built kernel module with parameters that you provided but...
Still same result. only C1 and C2 available. Why? Probably some other things like amd_pstate driver loaded already into kernel.
But I can't find amd_pstate module on my modules directory. Probably it's delivered in the kernel that I use (Arch Zen kernel). Not compiled as a module on my PC. Will try with standard kernel also. Do you know which other kernel modules could interfere with it?

At settings, CPU-IDLE driver and CPU-FREQ driver shows OFF while "CPU-IDLE route" shown as I/O

Screenshot from 2024-03-14 04-31-33

It's sad thing that learning AMD (still) do not exposes it's C states via MSRs, which is super easy to work with it.

Anyway, Here is the output of my CPU/System;

build/corefreq-cli -s -n -m -n -B -n -M -n -k -n -C 1 -n -i 1 -n -V 1 -n -W 1 -n -c 1

Processor                            [AMD Ryzen 5 8600G w/ Radeon 760M Graphics]
|- Architecture                                                [Zen4/Hawk Point]
|- Vendor ID                                                      [AuthenticAMD]
|- Microcode                                                        [0x0a705203]
|- Signature                                                           [  AF_75]
|- Stepping                                                            [      2]
|- Online CPU                                                          [ 12/ 12]
|- Base Clock                                                          [101.168]
|- Frequency            (MHz)                      Ratio                        
                 Min   1618.69                    <  16 >                       
                 Max   4350.24                    <  43 >                       
|- Factory                                                             [100.000]
                       4300                       [  43 ]                       
|- Performance                                                                  
   |- P-State                                                                   
                 TGT   4350.24                    <  43 >                       
   |- CPPC                                                                      
                 Min   3844.40                    <  38 >                       
                 Max   4350.24                    <  43 >                       
                 TGT      AUTO                    <   0 >                       
|- Turbo Boost                                                         [ UNLOCK]
                 XFR   5058.42                    [  50 ]                       
                 CPB   5058.42                    [  50 ]                       
                  1C   2225.70                    <  22 >                       
                  2C   1618.69                    <  16 >                       
|- Uncore                                                              [   LOCK]
                 CLK   2023.37                    [  20 ]                       
                 MEM   4046.73                    [  40 ]                       
                                                                                
Instruction Set Extensions                                                      
|- 3DNow!/Ext [N/N]          ADX [Y]          AES [Y]  AVX/AVX2 [Y/Y] 
|- AVX512-F     [Y]    AVX512-DQ [Y]  AVX512-IFMA [Y]   AVX512-PF [N] 
|- AVX512-ER    [N]    AVX512-CD [Y]    AVX512-BW [Y]   AVX512-VL [Y] 
|- AVX512-VBMI  [Y] AVX512-VBMI2 [Y]  AVX512-VNNI [Y]  AVX512-ALG [Y] 
|- AVX512-VPOP  [Y] AVX512-VNNIW [N] AVX512-FMAPS [N] AVX512-VP2I [N] 
|- AVX512-BF16  [Y] AVX-VNNI-VEX [N]    AVX-FP128 [N]   AVX-FP256 [Y] 
|- BMI1/BMI2  [Y/Y]         CLWB [Y]      CLFLUSH [Y] CLFLUSH-OPT [Y] 
|- CLAC-STAC    [Y]         CMOV [Y]    CMPXCHG8B [Y]  CMPXCHG16B [Y] 
|- F16C         [Y]          FPU [Y]         FXSR [Y]   LAHF-SAHF [Y] 
|- MMX/Ext    [Y/Y] MON/MWAITX [Y/Y]        MOVBE [Y]   PCLMULQDQ [Y] 
|- POPCNT       [Y]       RDRAND [Y]       RDSEED [Y]      RDTSCP [Y] 
|- SEP          [Y]          SHA [Y]          SSE [Y]        SSE2 [Y] 
|- SSE3         [Y]        SSSE3 [Y]  SSE4.1/4A [Y/Y]      SSE4.2 [Y] 
|- SERIALIZE    [N]      SYSCALL [Y]        RDPID [Y]        UMIP [Y] 
|- VAES         [Y]   VPCLMULQDQ [Y]   PREFETCH/W [Y]       LZCNT [Y] 
                                                                                
Features                                                                        
|- 1 GB Pages Support                                      1GB-PAGES   [Capable]
|- 100 MHz multiplier Control                            100MHzSteps   [Missing]
|- Advanced Configuration & Power Interface                     ACPI   [Capable]
|- Advanced Programmable Interrupt Controller                   APIC   [Capable]
|- Advanced Virtual Interrupt Controller                        AVIC   [Capable]
|- APIC Timer Invariance                                        ARAT   [Capable]
|- LOCK prefix to read CR8                                    AltMov   [Capable]
|- Clear Zero Instruction                                     CLZERO   [Capable]
|- Core Multi-Processing                                  CMP Legacy   [Capable]
|- L1 Data Cache Context ID                                  CNXT-ID   [Missing]
|- Collaborative Processor Performance Control                  CPPC   [Capable]
|- Direct Cache Access                                           DCA   [Missing]
|- Debugging Extension                                            DE   [Capable]
|- Debug Store & Precise Event Based Sampling               DS, PEBS   [Missing]
|- CPL Qualified Debug Store                                  DS-CPL   [Missing]
|- 64-Bit Debug Store                                         DTES64   [Missing]
|- Fast Short REP MOVSB                                         FSRM   [Capable]
|- Fast-String Operation                                        ERMS   [Capable]
|- Fused Multiply Add                                           FMA4   [Missing]
|- Fused Multiply Add                                            FMA   [Capable]
|- Hardware Lock Elision                                         HLE   [Missing]
|- Hyper-Threading Technology                                    HTT   [Capable]
|- Hardware P-state control                                      HwP   [Capable]
|- Instruction Based Sampling                                    IBS   [Capable]
|- Instruction INVLPGB                                       INVLPGB   [Missing]
|- Instruction INVPCID                                       INVPCID   [Capable]
|- Long Mode 64 bits                                       IA64 | LM   [Capable]
|- LightWeight Profiling                                         LWP   [Missing]
|- Memory Bandwidth Enforcement                                  MBE   [Capable]
|- Machine-Check Architecture                                    MCA   [Capable]
|- Instruction MCOMMIT                                       MCOMMIT   [Missing]
|- Model Specific Registers                                      MSR   [Capable]
|- Memory Type Range Registers                                  MTRR   [Capable]
|- No-Execute Page Protection                                     NX   [Capable]
|- OS-Enabled Ext. State Management                          OSXSAVE   [Capable]
|- OS Visible Work-around                                       OSVW   [Capable]
|- Physical Address Extension                                    PAE   [Capable]
|- Page Attribute Table                                          PAT   [Capable]
|- Pending Break Enable                                          PBE   [Missing]
|- Process Context Identifiers                                  PCID   [Missing]
|- Perfmon and Debug Capability                                 PDCM   [Missing]
|- Page Global Enable                                            PGE   [Capable]
|- Page Size Extension                                           PSE   [Capable]
|- 36-bit Page Size Extension                                  PSE36   [Capable]
|- Processor Serial Number                                       PSN   [Missing]
|- Resource Director Technology/PQE                            RDT-A   [Capable]
|- Resource Director Technology/PQM                            RDT-M   [Capable]
|- Read Processor Register at User level                       RDPRU   [Capable]
|- Restricted Transactional Memory                               RTM   [Missing]
|- Safer Mode Extensions                                         SMX   [Missing]
|- Self-Snoop                                                     SS   [Missing]
|- Supervisor-Mode Access Prevention                            SMAP   [Capable]
|- Supervisor-Mode Execution Prevention                         SMEP   [Capable]
|- Trailing Bit Manipulation                                     TBM   [Missing]
|- Translation Cache Extension                                   TCE   [Capable]
|- Time Stamp Counter                                            TSC [Invariant]
|- Time Stamp Counter Deadline                          TSC-DEADLINE   [Missing]
|- TSX Force Abort MSR Register                            TSX-ABORT   [Missing]
|- TSX Suspend Load Address Tracking                       TSX-LDTRK   [Missing]
|- User-Mode Instruction Prevention                             UMIP   [Capable]
|- Virtual Mode Extension                                        VME   [Capable]
|- Virtual Machine Extensions                                    VMX   [Missing]
|- Write Back & Do Not Invalidate Cache                     WBNOINVD   [Capable]
|- Extended xAPIC Support                                     x2APIC   [  xAPIC]
|- AVIC controller for x2APIC                                 x2AVIC   [Capable]
|- XSAVE/XSTOR States                                          XSAVE   [Capable]
|- xTPR Update Control                                          xTPR   [Missing]
|- Extended Operation Support                                    XOP   [Missing]
Mitigation mechanisms                                                           
|- Indirect Branch Restricted Speculation                       IBRS   [Capable]
   |- IBRS Always-On preferred by processor                            [ Unable]
   |- IBRS preferred over software solution                            [Capable]
   |- IBRS provides same speculation limits                            [Capable]
|- Indirect Branch Prediction Barrier                           IBPB   [Capable]
|- Single Thread Indirect Branch Predictor                     STIBP   [ Enable]
|- Speculative Store Bypass Disable                             SSBD   [Capable]
   |- SSBD use VIRT_SPEC_CTRL register                                 [ Unable]
   |- SSBD not needed on this processor                                [ Unable]
|- No Branch Type Confusion                                   BTC_NO   [ Unable]
|- BTC on Non-Branch instruction                            BTC-NOBR   [Capable]
|- Limited Early Redirect Window                            AGENPICK   [ Unable]
|- Arch - No Fast Predictive Store Forwarding                   PSFD   [Capable]
|- Arch - Enhanced Predictive Store Forwarding                  EPSF   [Capable]
|- Arch - Cross Processor Information Leak                XPROC_LEAK   [ Unable]
Security Features                                                               
|- CET Shadow Stack features                                  CET-SS   [Capable]
|- Secure Init and Jump with Attestation                      SKINIT   [Capable]
|- Secure Encrypted Virtualization                               SEV   [Missing]
|- SEV - Encrypted State                                      SEV-ES   [Missing]
|- SEV - Secure Nested Paging                                SEV-SNP   [Missing]
|- Guest Mode Execute Trap                                      GMET   [Capable]
|- Supervisor Shadow Stack                                       SSS   [Capable]
|- VM Permission Levels                                         VMPL   [Missing]
|- VMPL Supervisor Shadow Stack                             VMPL-SSS   [Missing]
|- Secure Memory Encryption                                      SME   [Capable]
|- Transparent SME                                              TSME   [ Enable]
|- Secure Multi-Key Memory Encryption                         SME-MK   [Missing]
|- DRAM Data Scrambling                                    Scrambler   [ Enable]
                                                                                
Technologies                                                                    
|- Instruction Cache Unit                                                       
   |- L1 IP Prefetcher                                          L1 HW IP   < ON>
|- Data Cache Unit                                                              
   |- L1 Prefetcher                                                L1 HW   < ON>
|- Cache Prefetchers                                                            
   |- L2 Prefetcher                                                L2 HW   < ON>
   |- L1 Stride Prefetcher                                     L1 Stride   < ON>
   |- L1 Region Prefetcher                                     L1 Region   < ON>
   |- L1 Burst Prefetch Mode                                    L1 Burst   < ON>
   |- L2 Stream HW Prefetcher                                  L2 Stream   < ON>
   |- L2 Up/Down Prefetcher                                   L2 Up/Down   < ON>
|- System Management Mode                                       SMM-Lock   [ ON]
|- Simultaneous Multithreading                                       SMT   [ ON]
|- PowerNow!                                                         CnQ   [ ON]
|- Core C-States                                                     CCx   [ ON]
|- Core Performance Boost                                            CPB   < ON>
|- Watchdog Timer                                                    WDT   < ON>
|- Virtualization                                                    SVM   [ ON]
   |- I/O MMU                                                      AMD-V   [ ON]
   |- Version                                                     [         0.1]
   |- Hypervisor                                                           [OFF]
   |- Vendor ID                                                   [         N/A]
                                                                                
Performance Monitoring                                                          
|- Version                                                        PM       [  2]
|- Counters:          General                   Fixed                           
|           {  6,  6,  4 } x 48 bits            3 x 64 bits                     
|- Enhanced Halt State                                           C1E       <OFF>
|- C2 UnDemotion                                                 C2U       < ON>
|- C3 UnDemotion                                                 C3U       < ON>
|- Core C6 State                                                 CC6       < ON>
|- Package C6 State                                              PC6       < ON>
|- Legacy Frequency ID control                                   FID       [OFF]
|- Legacy Voltage ID control                                     VID       [OFF]
|- P-State Hardware Coordination Feedback                MPERF/APERF       [ ON]
|- Core C-States                                                                
   |- C-States Base Address                                      BAR   [ 0x413 ]
|- ACPI Processor C-States                                      _CST   [      3]
|- MONITOR/MWAIT                                                                
   |- State index:    #0    #1    #2    #3    #4    #5    #6    #7              
   |- Sub C-State:     1     1     0     0     0     0     0     0              
   |- Monitor-Mwait Extensions                                   EMX   [Capable]
   |- Interrupt Break-Event                                      IBE   [Capable]
|- Core Cycles                                                         [Capable]
|- Instructions Retired                                                [Capable]
|- Reference Cycles                                                    [Capable]
|- Last Level Cache References                                         [Capable]
|- Global Time Stamp Counter                                           [Missing]
|- Data Fabric Performance Counter                                     [Capable]
|- Core Performance Counter                                            [Capable]
|- Processor Performance Control                                _PCT   [ Enable]
|- Performance Supported States                                 _PSS   [      3]
|- Performance Present Capabilities                             _PPC   [      0]
|- Continuous Performance Control                               _CPC   [Missing]
                                                                                
Power, Current & Thermal                                                        
|- Temperature Offset:Junction                                 TjMax [  0:  0 C]
|- CPPC Energy Preference                                        EPP   <      0>
|- Digital Thermal Sensor                                        DTS   [Capable]
|- Power Limit Notification                                      PLN   [Missing]
|- Package Thermal Management                                    PTM   [Missing]
|- Thermal Monitor 1                                             TTP   [ Enable]
|- Thermal Monitor 2                                             HTC   [ Enable]
|- Thermal Design Power                                          TDP   [Missing]
   |- Minimum Power                                              Min   [Missing]
   |- Maximum Power                                              Max   [Missing]
|- Thermal Design Power                                      Package   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
   |- Power Limit                                                PL2   [    0 W]
   |- Time Window                                                TW2   [   0 ns]
|- Thermal Design Power                                         Core   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
|- Thermal Design Power                                       Uncore   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
|- Thermal Design Power                                         DRAM   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
|- Thermal Design Power                                     Platform   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
   |- Power Limit                                                PL2   [    0 W]
   |- Time Window                                                TW2   [   0 ns]
|- Package Power Tracking                                        PPT   [Missing]
|- Electrical Design Current                                     EDC   [Missing]
|- Thermal Design Current                                        TDC   [Missing]
|- Core Thermal Point                                                           
|- Package Thermal Point                                                        
   |- Thermal Monitor Trip                                     Limit   [  115 C]
   |- HTC Temperature Limit                                    Limit   [  127 C]
   |- HTC Temperature Hysteresis                           Threshold   [    2 C]
|- Units                                                                        
   |- Power                                               watt   [  0.125000000]
   |- Energy                                             joule   [  0.000015259]
   |- Window                                            second   [  0.000976562]

CPU Pkg  Apic  Core/Thread  Caches      (w)rite-Back (i)nclusive              
 #   ID   ID CCD CCX ID/ID L1-Inst Way  L1-Data Way      L2  Way      L3  Way 
000:BSP    0   0  0   0  0      32  8        32  8      1024  8 i   16384 16w 
001:  0    2   0  0   1  0      32  8        32  8      1024  8 i   16384 16w 
002:  0    4   0  0   2  0      32  8        32  8      1024  8 i   16384 16w 
003:  0    6   0  0   3  0      32  8        32  8      1024  8 i   16384 16w 
004:  0    8   0  1   4  0      32  8        32  8      1024  8 i   16384 16w 
005:  0   10   0  1   5  0      32  8        32  8      1024  8 i   16384 16w 
006:  0    1   0  0   0  1      32  8        32  8      1024  8 i   16384 16w 
007:  0    3   0  0   1  1      32  8        32  8      1024  8 i   16384 16w 
008:  0    5   0  0   2  1      32  8        32  8      1024  8 i   16384 16w 
009:  0    7   0  0   3  1      32  8        32  8      1024  8 i   16384 16w 
010:  0    9   0  1   4  1      32  8        32  8      1024  8 i   16384 16w 
011:  0   11   0  1   5  1      32  8        32  8      1024  8 i   16384 16w 

[ 0] American Megatrends Inc.                                                   
[ 1] 2413                                                                       
[ 2] 02/02/2024                                                                 
[ 3] ASUS                                                                       
[ 4] System Product Name                                                        
[ 5] System Version                                                             
[ 6] S---e---e---l---m---                                                       
[ 7] SKU                                                                        
[ 8] To be filled by O.E.M.                                                     
[ 9] ASUSTeK COMPUTER INC.                                                      
[10] ROG STRIX B650E-I GAMING WIFI                                              
[11] Rev 1.xx                                                                   
[12] 2---2---1---0--                                                            
[13] Number Of Devices:2\Maximum Capacity:134217728 kilobytes                   
[14] DIMM 1\P0 CHANNEL A                                                        
[15] DIMM 1\P0 CHANNEL B                                                        
[16]                                                                            
[17]                                                                            
[18] G Skill Intl                                                               
[19] G Skill Intl                                                               
[20]                                                                            
[21]                                                                            
[22] F5-8000J4048F24G                                                           
[23] F5-8000J4048F24G                                                           
[24]                                                                            
[25]                                                                            

                              Zen UMC  [14F0]                              
Controller #0                                                Quad Channel  
 Bus Rate  4000 MHz       Bus Speed 4046 MHz           DDR5 Speed 8092 MT/s
                                                                           
 Cha   CL  RCDr RCDw  RP  RAS   RC  RRDs RRDl FAW  WTRs WTRl  WR  clRR clWW
  #0   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
  #1   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
  #2   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
  #3   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
      CWL  RTP RdWr WrRd scWW sdWW ddWW scRR sdRR ddRR drRR drWW drWR drRRD
  #0   38   24   25    7    2   15   15    2   14   14    0    0    0    0 
  #1   38   24   24    7    2   15   15    2   14   14    0    0    0    0 
  #2   38   24   25    7    2   15   15    2   14   14    0    0    0    0 
  #3   38   24   25    7    2   15   15    2   14   14    0    0    0    0 
      REFI RFC1 RFC2 RFCsb RCPB RPPB BGS:Alt  Ban  Page  CKE  CMD  GDM  ECC
  #0 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
  #1 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
  #2 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
  #3 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
      MRD:PDA   MOD:PDA  WRMPR STAG PDM RDDATA WRD  WRL  RDL  XS   XP CPDED
  #0   56  0     56  0     24    7 0:F:0   28   6   26    0 1676   30    4 
  #1   56  0     56  0     24    7 0:F:0   28   6   26    0 1676   30    4 
  #2   56  0     56  0     24    7 0:F:0   28   6   26    2 1676   30    4 
  #3   56  0     56  0     24    7 0:F:0   28   6   26    2 1676   30    4 
                                                                           
 DIMM Geometry for channel #0                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #1                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #2                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #3                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G

Linux:                                                                          
|- Release                                                    [6.7.8-zen1-1-zen]
|- Version          [#1 ZEN SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:23 +0000]
|- Machine                                                              [x86_64]
Memory:                                                                         
|- Total RAM                                                         46974936 KB
|- Shared RAM                                                          118264 KB
|- Free RAM                                                          25178976 KB
|- Buffer RAM                                                          254336 KB
|- Total High                                                               0 KB
|- Free High                                                                0 KB
Clock Source                                                  <    corefreq_tsc>
CPU-Freq driver                                               [  amd-pstate-epp]
Governor                                                      [         Missing]
CPU-Idle driver                                               [       acpi_idle]
|- Idle Limit                                                 [              C3]
   |- State        POLL      C1      C2      C3                                 
   |-           CPUIDLE ACPI FF ACPI IO ACPI IO                                 
   |- Power          -1       0       0       0                                 
   |- Latency         0       1      18     350                                 
   |- Residency       0       2      36     700                                 

CPU Freq(MHz) VID  Vcore  TMP(C)    Accumulator       Energy(J)     Power(W)
000 1030.77   200  1.2500    0  000000000000259515    3.959884644   3.959884644
001 1220.56   200  1.2500    0  000000000000269040    4.105224609   4.105224609
002 1474.28   200  1.2500    0  000000000000275232    4.199707031   4.199707031
003 1564.93   200  1.2500    0  000000000000338725    5.168533325   5.168533325
004 1235.66   200  1.2500    0  000000000000260423    3.973739624   3.973739624
005 1442.03   200  1.2500    0  000000000000323952    4.943115234   4.943115234
006 1662.86   200  1.2500    0  000000000000000000    0.000000000   0.000000000
007 1733.71   200  1.2500    0  000000000000000000    0.000000000   0.000000000
008  855.90   200  1.2500    0  000000000000000000    0.000000000   0.000000000
009 1628.66   200  1.2500    0  000000000000000000    0.000000000   0.000000000
010 1404.28   200  1.2500    0  000000000000000000    0.000000000   0.000000000
011 1659.44   200  1.2500    0  000000000000000000    0.000000000   0.000000000

             Package[0]    Cores         Uncore        Memory        Platform
Energy(J):  43.076538086  26.350204468   0.000000000   0.000000000   0.000000000
Power(W) :  43.076538086  26.350204468   0.000000000   0.000000000   0.000000000


CPU     IPS            IPC            CPI
000     0.216791/s     1.040506/c     0.961071/i
001     0.213990/s     1.061428/c     0.942127/i
002     0.237844/s     1.051879/c     0.950680/i
003     2.133788/s     3.512140/c     0.284727/i
004     0.374876/s     1.294412/c     0.772552/i
005     0.589201/s     1.675322/c     0.596900/i
006     0.192485/s     0.869787/c     1.149707/i
007     0.508838/s     1.171443/c     0.853648/i
008     0.249772/s     0.991509/c     1.008564/i
009     0.216775/s     0.702998/c     1.422478/i
010     0.326184/s     0.998303/c     1.001700/i
011     0.323157/s     1.060911/c     0.942586/i


CPU Freq(MHz) VID  Min     Vcore   Max
000  691.00   203  0.7313  1.2688  1.5063
001  872.02   203  0.7313  1.2688  1.5063
002  835.70   203  0.7313  1.2688  1.5063
003 2357.92   203  0.7313  1.2688  1.5063
004  881.62   203  0.7313  1.2688  1.5063
005 1108.82   203  0.7313  1.2688  1.5063
006  978.78   203  0.7313  1.2688  1.5063
007 1751.76   203  0.7313  1.2688  1.5063
008 1038.24   203  0.7313  1.2688  1.5063
009  861.55   203  0.7313  1.2688  1.5063
010  880.22   203  0.7313  1.2688  1.5063
011 1029.20   203  0.7313  1.2688  1.4500


CPU Freq(MHz)    Accumulator      Min  Energy(J) Max    Min  Power(W)  Max
000  834.44  000000000000223024    1.52   3.40  11.28    1.52   3.40  11.28
001  822.34  000000000000313695    1.84   4.79  10.66    1.84   4.79  10.66
002  975.69  000000000000237530    1.74   3.62   9.78    1.74   3.62   9.78
003 1100.89  000000000000300436    2.23   4.58  10.04    2.23   4.58  10.04
004 3266.18  000000000000462533    2.22   7.06  10.17    2.22   7.06  10.17
005  829.89  000000000000272736    1.90   4.16  11.46    1.90   4.16  11.46
006  723.73  000000000000000000    0.00   0.00   0.00    0.00   0.00   0.00
007 1412.94  000000000000000000    0.00   0.00   0.00    0.00   0.00   0.00
008  908.46  000000000000000000    0.00   0.00   0.00    0.00   0.00   0.00
009 1327.80  000000000000000000    0.00   0.00   0.00    0.00   0.00   0.00
010  659.88  000000000000000000    0.00   0.00   0.00    0.00   0.00   0.00
011 1062.34  000000000000000000    0.00   0.00   0.00    0.00   0.00   0.00

Energy(J)  Package[0]         Cores               Uncore              Memory
  29.45 38.12 74.32    9.40 27.62 57.78    0.00  0.00  0.00    0.00  0.00  0.00
Power(W)
  29.45 38.12 74.32    9.40 27.62 57.78    0.00  0.00  0.00    0.00  0.00  0.00


CPU Freq(MHz) Ratio  Turbo  C0(%)  C1(%)  C3(%)  C6(%)  C7(%)  Min TMP:TS  Max
000 1373.05 (13.57)  31.56  29.88  70.12   0.00   0.00   0.00  0  /  0:0  /  0
001  978.91 ( 9.68)  22.50  21.98  78.02   0.00   0.00   0.00  0  /  0:0  /  0
002  913.51 ( 9.03)  21.00  20.29  79.71   0.00   0.00   0.00  0  /  0:0  /  0
003 1242.21 (12.28)  28.55  26.74  73.26   0.00   0.00   0.00  0  /  0:0  /  0
004 1988.11 (19.65)  45.70  41.56  58.44   0.00   0.00   0.00  0  /  0:0  /  0
005 1182.26 (11.69)  27.18  25.73  74.27   0.00   0.00   0.00  0  /  0:0  /  0
006 1007.47 ( 9.96)  23.16  21.97  78.03   0.00   0.00   0.00  0  /  0:0  /  0
007 1017.24 (10.05)  23.38  22.50  77.50   0.00   0.00   0.00  0  /  0:0  /  0
008 1181.07 (11.67)  27.15  26.02  73.98   0.00   0.00   0.00  0  /  0:0  /  0
009 1155.23 (11.42)  26.56  25.42  74.58   0.00   0.00   0.00  0  /  0:0  /  0
010  500.60 ( 4.95)  11.51  11.45  88.55   0.00   0.00   0.00  0  /  0:0  /  0
011  825.14 ( 8.16)  18.97  18.27  81.73   0.00   0.00   0.00  0  /  0:0  /  0

    Averages:        Turbo  C0(%)  C1(%)  C3(%)  C6(%)  C7(%)    TjMax:    Pkg:
                     25.60  24.32  75.68   0.00   0.00   0.00       0 C     0 C

@cyring
Copy link
Owner

cyring commented Mar 14, 2024

Thank you for the output.
That Ryzen series is really filling the gap with Intel: all ISA and Features are available (beside oldish legacies)

amd_pstate might be compiled as static
Try the below boot parameters

modprobe.blacklist=acpi_cpufreq amd_pstate.shared_mem=0 amd_pstate=disable idle=halt

Temperature is not showing. That's an issue. I'm searching for thermal registers and will come back with code for testings.

@EUA
Copy link
Author

EUA commented Mar 15, 2024

With custom kernel boot parameters and again custom corefreqk kernel module parameters, there is an improvement.
Screenshot from 2024-03-15 04-02-50

Now CoreFreq reports something on C2-C3 column. But I believe, it should be need CC6 state indeed.

@cyring
Copy link
Owner

cyring commented Mar 15, 2024

it should be need CC6

Using short key k or Menu > Kernel to open the Kernel window; next, select Idle limit to C6

Edit: prerequisites are CoreFreq well registered as CPU-Idle

Edit: I forgot to add a parameter to make limit permanent. I will add it soon. Meanwhile you can still use the UI to switch C-State limit as will.

@cyring
Copy link
Owner

cyring commented Mar 15, 2024

Btw can you disable any SPREAD SPECTRUM in your BIOS ?
The expected effect is that the Base Clock should estimate to 100,000,000 Hz.

You should get an estimation of DRAM to 8000 MT/s

@cyring
Copy link
Owner

cyring commented Mar 16, 2024

@EUA

Now CoreFreq reports something on C2-C3 column. But I believe, it should be need CC6 state indeed.

Edit: I forgot to add a parameter to make limit permanent. I will add it soon. Meanwhile you can still use the UI to switch C-State limit as will.


I forgot I already made it available through the parameter Override_SubCstate

For example, looking at your Sub C-State (See "Performance Monitoring" window)

|- MONITOR/MWAIT                                                                
   |- State index:    #0    #1    #2    #3    #4    #5    #6    #7              
   |- Sub C-State:     1     1     0     0     0     0     0     0              

If your want to make CC6 as a startup limit, you will set a 1 at each index up to the 6th and pad with 0 up to the last 8th

insmod build/corefreqk.ko Register_ClockSource=1 Register_Governor=1 \
Register_CPU_Idle=1 Register_CPU_Freq=1 \
Override_SubCstate="1,1,1,1,1,1,0,0"

As a result, you will get such override

|- MONITOR/MWAIT                                                                
   |- State index:    #0    #1    #2    #3    #4    #5    #6    #7              
   |- Sub C-State:     1     1     1     1     1     1     0     0              

And the kernel Idle Limit as the following

Clock Source                                                  <    corefreq_tsc>
CPU-Freq driver                                               [  corefreqk-perf]
Governor                                                      [ corefreq-policy]
CPU-Idle driver                                               [  corefreqk-idle]
|- Idle Limit                                                 <              C6>
   |- State        POLL      C1      C2      C3      C4      C5      C6         
   |-           CPUIDLE  ZEN-C1  ZEN-C2  ZEN-C3  ZEN-C4  ZEN-C5  ZEN-C6         
   |- Power          -1       0       0       0       0       0       0         
   |- Latency         0       1      20      40      60      80     100         
   |- Residency       0       2      40      80     120     160     200         

Consequently Monitoring will start using CC6:

2024-03-16-152056_644x564_scrot

@EUA
Copy link
Author

EUA commented Mar 16, 2024

Yup. Now it's looks better. Thanks.

Screenshot from 2024-03-17 01-58-44

@cyring
Copy link
Owner

cyring commented Mar 17, 2024

@EUA

Can you compile my SMU tool zencli ?

cc zencli.c -o zencli

As root, you will peek the base register for thermal:

## since Zen gen1
zencli smu 0x59800
## per CCD
zencli smu 0x59954
## Family 19h APU
zencli smu 0x59B08

@EUA
Copy link
Author

EUA commented Mar 17, 2024

Here is the registers you asking for:

[root@Ryzen CoreFreq]# ./zencli smu 0x59800
[0x00059800] READ(smu) = 0x822b0000 (2183856128)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 1000 0010 0010 1011 0000 0000 0000 0000
[root@Ryzen CoreFreq]# ./zencli smu 0x59954
[0x00059954] READ(smu) = 0x00000000 (0)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[root@Ryzen CoreFreq]# ./zencli smu 0x59B08
[0x00059b08] READ(smu) = 0x00000000 (0)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[root@Ryzen CoreFreq]# 

@cyring
Copy link
Owner

cyring commented Mar 17, 2024

@EUA

Can you please pull develop branch and test temperature ?

Edit: Should also be fixed the UMC reduction to two DIMMs

Please refresh corefreq-cli -s -n -C 1 -n -c 1 -n -k -n -B -n -M

@EUA
Copy link
Author

EUA commented Mar 17, 2024

Output from develop branch ;

Processor                            [AMD Ryzen 5 8600G w/ Radeon 760M Graphics]
|- Architecture                                                [Zen4/Hawk Point]
|- Vendor ID                                                      [AuthenticAMD]
|- Microcode                                                        [0x0a705203]
|- Signature                                                           [  AF_75]
|- Stepping                                                            [      2]
|- Online CPU                                                          [ 12/ 12]
|- Base Clock                                                          [101.171]
|- Frequency            (MHz)                      Ratio                        
                 Min   1618.74                    <  16 >                       
                 Max   4350.36                    <  43 >                       
|- Factory                                                             [100.000]
                       4300                       [  43 ]                       
|- Performance                                                                  
   |- P-State                                                                   
                 TGT   4350.36                    <  43 >                       
|- Turbo Boost                                                         [ UNLOCK]
                 XFR   5058.56                    [  50 ]                       
                 CPB   5058.56                    [  50 ]                       
                  1C   2225.77                    <  22 >                       
                  2C   1618.74                    <  16 >                       
|- Uncore                                                              [   LOCK]
                 CLK   2023.42                    [  20 ]                       
                 MEM   4046.85                    [  40 ]                       
                                                                                
Instruction Set Extensions                                                      
|- 3DNow!/Ext [N/N]          ADX [Y]          AES [Y]  AVX/AVX2 [Y/Y] 
|- AVX512-F     [Y]    AVX512-DQ [Y]  AVX512-IFMA [Y]   AVX512-PF [N] 
|- AVX512-ER    [N]    AVX512-CD [Y]    AVX512-BW [Y]   AVX512-VL [Y] 
|- AVX512-VBMI  [Y] AVX512-VBMI2 [Y]  AVX512-VNNI [Y]  AVX512-ALG [Y] 
|- AVX512-VPOP  [Y] AVX512-VNNIW [N] AVX512-FMAPS [N] AVX512-VP2I [N] 
|- AVX512-BF16  [Y] AVX-VNNI-VEX [N]    AVX-FP128 [N]   AVX-FP256 [Y] 
|- BMI1/BMI2  [Y/Y]         CLWB [Y]      CLFLUSH [Y] CLFLUSH-OPT [Y] 
|- CLAC-STAC    [Y]         CMOV [Y]    CMPXCHG8B [Y]  CMPXCHG16B [Y] 
|- F16C         [Y]          FPU [Y]         FXSR [Y]   LAHF-SAHF [Y] 
|- MMX/Ext    [Y/Y] MON/MWAITX [Y/Y]        MOVBE [Y]   PCLMULQDQ [Y] 
|- POPCNT       [Y]       RDRAND [Y]       RDSEED [Y]      RDTSCP [Y] 
|- SEP          [Y]          SHA [Y]          SSE [Y]        SSE2 [Y] 
|- SSE3         [Y]        SSSE3 [Y]  SSE4.1/4A [Y/Y]      SSE4.2 [Y] 
|- SERIALIZE    [N]      SYSCALL [Y]        RDPID [Y]        UMIP [Y] 
|- VAES         [Y]   VPCLMULQDQ [Y]   PREFETCH/W [Y]       LZCNT [Y] 
                                                                                
Features                                                                        
|- 1 GB Pages Support                                      1GB-PAGES   [Capable]
|- 100 MHz multiplier Control                            100MHzSteps   [Missing]
|- Advanced Configuration & Power Interface                     ACPI   [Capable]
|- Advanced Programmable Interrupt Controller                   APIC   [Capable]
|- Advanced Virtual Interrupt Controller                        AVIC   [Capable]
|- APIC Timer Invariance                                        ARAT   [Capable]
|- LOCK prefix to read CR8                                    AltMov   [Capable]
|- Clear Zero Instruction                                     CLZERO   [Capable]
|- Core Multi-Processing                                  CMP Legacy   [Capable]
|- L1 Data Cache Context ID                                  CNXT-ID   [Missing]
|- Collaborative Processor Performance Control                  CPPC   [Capable]
|- Direct Cache Access                                           DCA   [Missing]
|- Debugging Extension                                            DE   [Capable]
|- Debug Store & Precise Event Based Sampling               DS, PEBS   [Missing]
|- CPL Qualified Debug Store                                  DS-CPL   [Missing]
|- 64-Bit Debug Store                                         DTES64   [Missing]
|- Fast Short REP MOVSB                                         FSRM   [Capable]
|- Fast-String Operation                                        ERMS   [Capable]
|- Fused Multiply Add                                           FMA4   [Missing]
|- Fused Multiply Add                                            FMA   [Capable]
|- Hardware Lock Elision                                         HLE   [Missing]
|- Hyper-Threading Technology                                    HTT   [Capable]
|- Hardware P-state control                                      HwP   [Capable]
|- Instruction Based Sampling                                    IBS   [Capable]
|- Instruction INVLPGB                                       INVLPGB   [Missing]
|- Instruction INVPCID                                       INVPCID   [Capable]
|- Long Mode 64 bits                                       IA64 | LM   [Capable]
|- LightWeight Profiling                                         LWP   [Missing]
|- Memory Bandwidth Enforcement                                  MBE   [Capable]
|- Machine-Check Architecture                                    MCA   [Capable]
|- Instruction MCOMMIT                                       MCOMMIT   [Missing]
|- Model Specific Registers                                      MSR   [Capable]
|- Memory Type Range Registers                                  MTRR   [Capable]
|- No-Execute Page Protection                                     NX   [Capable]
|- OS-Enabled Ext. State Management                          OSXSAVE   [Capable]
|- OS Visible Work-around                                       OSVW   [Capable]
|- Physical Address Extension                                    PAE   [Capable]
|- Page Attribute Table                                          PAT   [Capable]
|- Pending Break Enable                                          PBE   [Missing]
|- Process Context Identifiers                                  PCID   [Missing]
|- Perfmon and Debug Capability                                 PDCM   [Missing]
|- Page Global Enable                                            PGE   [Capable]
|- Page Size Extension                                           PSE   [Capable]
|- 36-bit Page Size Extension                                  PSE36   [Capable]
|- Processor Serial Number                                       PSN   [Missing]
|- Resource Director Technology/PQE                            RDT-A   [Capable]
|- Resource Director Technology/PQM                            RDT-M   [Capable]
|- Read Processor Register at User level                       RDPRU   [Capable]
|- Restricted Transactional Memory                               RTM   [Missing]
|- Safer Mode Extensions                                         SMX   [Missing]
|- Self-Snoop                                                     SS   [Missing]
|- Supervisor-Mode Access Prevention                            SMAP   [Capable]
|- Supervisor-Mode Execution Prevention                         SMEP   [Capable]
|- Trailing Bit Manipulation                                     TBM   [Missing]
|- Translation Cache Extension                                   TCE   [Capable]
|- Time Stamp Counter                                            TSC [Invariant]
|- Time Stamp Counter Deadline                          TSC-DEADLINE   [Missing]
|- TSX Force Abort MSR Register                            TSX-ABORT   [Missing]
|- TSX Suspend Load Address Tracking                       TSX-LDTRK   [Missing]
|- User-Mode Instruction Prevention                             UMIP   [Capable]
|- Virtual Mode Extension                                        VME   [Capable]
|- Virtual Machine Extensions                                    VMX   [Missing]
|- Write Back & Do Not Invalidate Cache                     WBNOINVD   [Capable]
|- Extended xAPIC Support                                     x2APIC   [  xAPIC]
|- AVIC controller for x2APIC                                 x2AVIC   [Capable]
|- XSAVE/XSTOR States                                          XSAVE   [Capable]
|- xTPR Update Control                                          xTPR   [Missing]
|- Extended Operation Support                                    XOP   [Missing]
Mitigation mechanisms                                                           
|- Indirect Branch Restricted Speculation                       IBRS   [Capable]
   |- IBRS Always-On preferred by processor                            [ Unable]
   |- IBRS preferred over software solution                            [Capable]
   |- IBRS provides same speculation limits                            [Capable]
|- Indirect Branch Prediction Barrier                           IBPB   [Capable]
|- Single Thread Indirect Branch Predictor                     STIBP   [ Enable]
|- Speculative Store Bypass Disable                             SSBD   [Capable]
   |- SSBD use VIRT_SPEC_CTRL register                                 [ Unable]
   |- SSBD not needed on this processor                                [ Unable]
|- No Branch Type Confusion                                   BTC_NO   [ Unable]
|- BTC on Non-Branch instruction                            BTC-NOBR   [Capable]
|- Limited Early Redirect Window                            AGENPICK   [ Unable]
|- Arch - No Fast Predictive Store Forwarding                   PSFD   [Capable]
|- Arch - Enhanced Predictive Store Forwarding                  EPSF   [Capable]
|- Arch - Cross Processor Information Leak                XPROC_LEAK   [ Unable]
Security Features                                                               
|- CET Shadow Stack features                                  CET-SS   [Capable]
|- Secure Init and Jump with Attestation                      SKINIT   [Capable]
|- Secure Encrypted Virtualization                               SEV   [Missing]
|- SEV - Encrypted State                                      SEV-ES   [Missing]
|- SEV - Secure Nested Paging                                SEV-SNP   [Missing]
|- Guest Mode Execute Trap                                      GMET   [Capable]
|- Supervisor Shadow Stack                                       SSS   [Capable]
|- VM Permission Levels                                         VMPL   [Missing]
|- VMPL Supervisor Shadow Stack                             VMPL-SSS   [Missing]
|- Secure Memory Encryption                                      SME   [Capable]
|- Transparent SME                                              TSME   [ Enable]
|- Secure Multi-Key Memory Encryption                         SME-MK   [Missing]
|- DRAM Data Scrambling                                    Scrambler   [ Enable]
                                                                                
Technologies                                                                    
|- Instruction Cache Unit                                                       
   |- L1 IP Prefetcher                                          L1 HW IP   < ON>
|- Data Cache Unit                                                              
   |- L1 Prefetcher                                                L1 HW   < ON>
|- Cache Prefetchers                                                            
   |- L2 Prefetcher                                                L2 HW   < ON>
   |- L1 Stride Prefetcher                                     L1 Stride   < ON>
   |- L1 Region Prefetcher                                     L1 Region   < ON>
   |- L1 Burst Prefetch Mode                                    L1 Burst   < ON>
   |- L2 Stream HW Prefetcher                                  L2 Stream   < ON>
   |- L2 Up/Down Prefetcher                                   L2 Up/Down   < ON>
|- System Management Mode                                       SMM-Lock   [ ON]
|- Simultaneous Multithreading                                       SMT   [ ON]
|- PowerNow!                                                         CnQ   [ ON]
|- Core C-States                                                     CCx   [ ON]
|- Core Performance Boost                                            CPB   < ON>
|- Watchdog Timer                                                    WDT   < ON>
|- Virtualization                                                    SVM   [ ON]
   |- I/O MMU                                                      AMD-V   [ ON]
   |- Version                                                     [         0.1]
   |- Hypervisor                                                           [OFF]
   |- Vendor ID                                                   [         N/A]
                                                                                
Performance Monitoring                                                          
|- Version                                                        PM       [  2]
|- Counters:          General                   Fixed                           
|           {  6,  6,  4 } x 48 bits            3 x 64 bits                     
|- Enhanced Halt State                                           C1E       <OFF>
|- C2 UnDemotion                                                 C2U       < ON>
|- C3 UnDemotion                                                 C3U       < ON>
|- Core C6 State                                                 CC6       < ON>
|- Package C6 State                                              PC6       < ON>
|- Legacy Frequency ID control                                   FID       [OFF]
|- Legacy Voltage ID control                                     VID       [OFF]
|- P-State Hardware Coordination Feedback                MPERF/APERF       [ ON]
|- Core C-States                                                                
   |- C-States Base Address                                      BAR   [ 0x413 ]
|- ACPI Processor C-States                                      _CST   [      3]
|- MONITOR/MWAIT                                                                
   |- State index:    #0    #1    #2    #3    #4    #5    #6    #7              
   |- Sub C-State:     1     1     1     1     1     1     0     0              
   |- Monitor-Mwait Extensions                                   EMX   [Capable]
   |- Interrupt Break-Event                                      IBE   [Capable]
|- Core Cycles                                                         [Capable]
|- Instructions Retired                                                [Capable]
|- Reference Cycles                                                    [Capable]
|- Last Level Cache References                                         [Capable]
|- Global Time Stamp Counter                                           [Missing]
|- Data Fabric Performance Counter                                     [Capable]
|- Core Performance Counter                                            [Capable]
|- Processor Performance Control                                _PCT   [ Enable]
|- Performance Supported States                                 _PSS   [      3]
|- Performance Present Capabilities                             _PPC   [      0]
|- Continuous Performance Control                               _CPC   [Missing]
                                                                                
Power, Current & Thermal                                                        
|- Temperature Offset:Junction                                 TjMax [  0:  0 C]
|- CPPC Energy Preference                                        EPP   [Capable]
|- Digital Thermal Sensor                                        DTS   [Capable]
|- Power Limit Notification                                      PLN   [Missing]
|- Package Thermal Management                                    PTM   [Missing]
|- Thermal Monitor 1                                             TTP   [ Enable]
|- Thermal Monitor 2                                             HTC   [ Enable]
|- Thermal Design Power                                          TDP   [Missing]
   |- Minimum Power                                              Min   [Missing]
   |- Maximum Power                                              Max   [Missing]
|- Thermal Design Power                                      Package   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
   |- Power Limit                                                PL2   [    0 W]
   |- Time Window                                                TW2   [   0 ns]
|- Thermal Design Power                                         Core   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
|- Thermal Design Power                                       Uncore   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
|- Thermal Design Power                                         DRAM   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
|- Thermal Design Power                                     Platform   [Disable]
   |- Power Limit                                                PL1   [    0 W]
   |- Time Window                                                TW1   [   0 ns]
   |- Power Limit                                                PL2   [    0 W]
   |- Time Window                                                TW2   [   0 ns]
|- Package Power Tracking                                        PPT   [Missing]
|- Electrical Design Current                                     EDC   [Missing]
|- Thermal Design Current                                        TDC   [Missing]
|- Core Thermal Point                                                           
|- Package Thermal Point                                                        
   |- Thermal Monitor Trip                                     Limit   [  115 C]
   |- HTC Temperature Limit                                    Limit   [  127 C]
   |- HTC Temperature Hysteresis                           Threshold   [    2 C]
|- Units                                                                        
   |- Power                                               watt   [  0.125000000]
   |- Energy                                             joule   [  0.000015259]
   |- Window                                            second   [  0.000976562]

CPU Freq(MHz) VID  Vcore  TMP(C)    Accumulator       Energy(J)     Power(W)
000 1409.89   208  1.3000    0  000000000000287526    4.387298584   4.387298584
001 1064.18   208  1.3000    0  000000000000291462    4.447357178   4.447357178
002  715.29   208  1.3000    0  000000000000208965    3.188552856   3.188552856
003 1544.10   208  1.3000    0  000000000000347671    5.305038452   5.305038452
004 1855.75   208  1.3000    0  000000000000303876    4.636779785   4.636779785
005 1266.17   208  1.3000    0  000000000000234158    3.572967529   3.572967529
006 1295.98   208  1.3000    0  000000000000000000    0.000000000   0.000000000
007 1094.05   207  1.2938    0  000000000000000000    0.000000000   0.000000000
008  781.02   207  1.2938    0  000000000000000000    0.000000000   0.000000000
009 1123.45   207  1.2938    0  000000000000000000    0.000000000   0.000000000
010  592.60   207  1.2938    0  000000000000000000    0.000000000   0.000000000
011  709.02   207  1.2938    0  000000000000000000    0.000000000   0.000000000

             Package[0]    Cores         Uncore        Memory        Platform
Energy(J):  36.467819214  20.191711426   0.000000000   0.000000000   0.000000000
Power(W) :  36.467819214  20.191711426   0.000000000   0.000000000   0.000000000


CPU Freq(MHz) Ratio  Turbo  C0(%)  C1(%)  C3(%)  C6(%)  C7(%)  Min TMP:TS  Max
000 1409.89 (13.94)  32.41  30.99  69.01   0.00   0.00   0.00  0  /  0:0  /  0
001 1064.18 (10.52)  24.46  23.57  76.43   0.00   0.00   0.00  0  /  0:0  /  0
002  715.29 ( 7.07)  16.44  17.45  82.55   0.00   0.00   0.00  0  /  0:0  /  0
003 1544.10 (15.26)  35.49  33.82  66.18   0.00   0.00   0.00  0  /  0:0  /  0
004 1855.75 (18.34)  42.66  40.30  59.70   0.00   0.00   0.00  0  /  0:0  /  0
005 1266.17 (12.51)  29.10  28.23  71.77   0.00   0.00   0.00  0  /  0:0  /  0
006 1295.98 (12.81)  29.79  28.92  71.08   0.00   0.00   0.00  0  /  0:0  /  0
007 1094.05 (10.81)  25.15  24.64  75.36   0.00   0.00   0.00  0  /  0:0  /  0
008  781.02 ( 7.72)  17.95  18.22  81.78   0.00   0.00   0.00  0  /  0:0  /  0
009 1123.45 (11.10)  25.82  25.12  74.88   0.00   0.00   0.00  0  /  0:0  /  0
010  592.60 ( 5.86)  13.62  13.92  86.08   0.00   0.00   0.00  0  /  0:0  /  0
011  709.02 ( 7.01)  16.30  16.65  83.35   0.00   0.00   0.00  0  /  0:0  /  0

    Averages:        Turbo  C0(%)  C1(%)  C3(%)  C6(%)  C7(%)    TjMax:    Pkg:
                     25.77  25.15  74.85   0.00   0.00   0.00       0 C     0 C


Linux:                                                                          
|- Release                                                    [6.8.1-zen1-1-zen]
|- Version          [#1 ZEN SMP PREEMPT_DYNAMIC Sat, 16 Mar 2024 17:15:23 +0000]
|- Machine                                                              [x86_64]
Memory:                                                                         
|- Total RAM                                                         46973540 KB
|- Shared RAM                                                          100140 KB
|- Free RAM                                                          25660812 KB
|- Buffer RAM                                                          297008 KB
|- Total High                                                               0 KB
|- Free High                                                                0 KB
Clock Source                                                  <    corefreq_tsc>
CPU-Freq driver                                               [  corefreqk-perf]
Governor                                                      [ corefreq-policy]
CPU-Idle driver                                               [         Missing]
|- Idle Limit                                                 [             N/A]

[ 0] American Megatrends Inc.                                                   
[ 1] 2413                                                                       
[ 2] 02/02/2024                                                                 
[ 3] ASUS                                                                       
[ 4] System Product Name                                                        
[ 5] System Version                                                             
[ 6] S---e---e---l---m---                                                       
[ 7] SKU                                                                        
[ 8] To be filled by O.E.M.                                                     
[ 9] ASUSTeK COMPUTER INC.                                                      
[10] ROG STRIX B650E-I GAMING WIFI                                              
[11] Rev 1.xx                                                                   
[12] 2---2---1---0--                                                            
[13] Number Of Devices:2\Maximum Capacity:134217728 kilobytes                   
[14] DIMM 1\P0 CHANNEL A                                                        
[15] DIMM 1\P0 CHANNEL B                                                        
[16]                                                                            
[17]                                                                            
[18] G Skill Intl                                                               
[19] G Skill Intl                                                               
[20]                                                                            
[21]                                                                            
[22] F5-8000J4048F24G                                                           
[23] F5-8000J4048F24G                                                           
[24]                                                                            
[25]                                                                            

                              Zen UMC  [14F0]                              
Controller #0                                                Quad Channel  
 Bus Rate  4000 MHz       Bus Speed 4046 MHz           DDR5 Speed 8092 MT/s
                                                                           
 Cha   CL  RCDr RCDw  RP  RAS   RC  RRDs RRDl FAW  WTRs WTRl  WR  clRR clWW
  #0   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
  #1   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
  #2   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
  #3   40   48   48   48  127  192    8   16   41   10   40  120   14   34 
      CWL  RTP RdWr WrRd scWW sdWW ddWW scRR sdRR ddRR drRR drWW drWR drRRD
  #0   38   24   25    7    2   15   15    2   14   14    0    0    0    0 
  #1   38   24   24    7    2   15   15    2   14   14    0    0    0    0 
  #2   38   24   25    7    2   15   15    2   14   14    0    0    0    0 
  #3   38   24   25    7    2   15   15    2   14   14    0    0    0    0 
      REFI RFC1 RFC2 RFCsb RCPB RPPB BGS:Alt  Ban  Page  CKE  CMD  GDM  ECC
  #0 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
  #1 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
  #2 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
  #3 15554  312  192  758   0    0    ON OFF  R0W0   0    6   1T    ON   0 
      MRD:PDA   MOD:PDA  WRMPR STAG PDM RDDATA WRD  WRL  RDL  XS   XP CPDED
  #0   56  0     56  0     24    7 0:F:0   28   6   26    0 1676   30    4 
  #1   56  0     56  0     24    7 0:F:0   28   6   26    0 1676   30    4 
  #2   56  0     56  0     24    7 0:F:0   28   6   26    2 1676   30    4 
  #3   56  0     56  0     24    7 0:F:0   28   6   26    2 1676   30    4 
                                                                           
 DIMM Geometry for channel #0                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #1                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #2                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #3                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G

@cyring
Copy link
Owner

cyring commented Mar 17, 2024

As dump with
zencli smu 0x59800
I was expecting to read temperature.
But also 2 DRAM sticks.

Do you confirm building/running latest commits ?

https://github.com/cyring/CoreFreq/commits/develop/

@EUA
Copy link
Author

EUA commented Mar 18, 2024

I did;

git branch develop
git pull
make

Only kernel module rebuilt. I am not git guru but, I think this is what should I need to do... Don't know how to verify it.

Than insmod as you write at top... Don't know if I am able to switch properly but... Something pulled from git.

I have 2 Ram slot on my MB and both of them used with 24GB Sticks.

@cyring
Copy link
Owner

cyring commented Mar 18, 2024

I think I have a digit mistake in register address.
Can you edit this header file at that line:

#define SMU_AMD_THM_TCTL_CCD_REGISTER_F19H_61H \

and replace code with this one:

#define SMU_AMD_THM_TCTL_CCD_REGISTER_F19H_61H				\
	(SMU_AMD_THM_TCTL_REGISTER_F17H + 0x300)

Edit this other header file:

.Query = Query_AMD_F19h_PerSocket,

and replace function pointer as bellow:

	.Query = Query_AMD_F19h_61h_PerCluster

Next please rebuild all

make clean
make

And reload all for temperature testing
(make sure to unload before loading driver again)

Thank you


EDIT: For DIMM geometry, can you also peek those addresses

## Prior Zen4
./zencli smu 0x50030
./zencli smu 0x50034
./zencli smu 0x50038
./zencli smu 0x5003C
## Since Zen4
./zencli smu 0x50040
./zencli smu 0x50044
./zencli smu 0x50048
./zencli smu 0x5004C

@EUA
Copy link
Author

EUA commented Mar 18, 2024

Replaced the lines as you indicated. Still no core temps appears on main screen.

./zencli smu 0x50030
./zencli smu 0x50034
./zencli smu 0x50038
./zencli smu 0x5003C
## Since Zen4
./zencli smu 0x50040
./zencli smu 0x50044
./zencli smu 0x50048
./zencli smu 0x5004C
[0x00050030] READ(smu) = 0x00000000 (0)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[0x00050034] READ(smu) = 0x00000000 (0)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[0x00050038] READ(smu) = 0x00fffffe (16777214)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1111 1111 1111 1111 1111 1110
[0x0005003c] READ(smu) = 0x00000000 (0)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
[0x00050040] READ(smu) = 0x00150508 (1377544)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0101 0000 0101 0000 1000
[0x00050044] READ(smu) = 0x00150508 (1377544)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0101 0000 0101 0000 1000
[0x00050048] READ(smu) = 0x0025070c (2426636)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 0101 0000 0111 0000 1100
[0x0005004c] READ(smu) = 0x00150508 (1377544)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0101 0000 0101 0000 1000

I don't know what this SMU outputs means but... I definitely sure about that, at least, one of my sticks is placed at other slot and my Rams are 24GB. Looks like some electronic info at chips do not comply with reality. 😄

 DIMM Geometry for channel #0                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #1                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #2                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G
 DIMM Geometry for channel #3                                              
      Slot Bank Rank     Rows   Columns    Memory Size (MB)                
       #0                                                                  
       #1    32    1    131072      1024          32768    F5-8000J4048F24G

@cyring
Copy link
Owner

cyring commented Mar 18, 2024

@EUA

Replaced the lines as you indicated. Still no core temps appears on main screen.

So it appears that fix is working for EPYC/Genoa but fails on yours and 7950X

I don't know what this SMU outputs means

I'm making a page to debug new DIMMs

@cyring
Copy link
Owner

cyring commented Mar 18, 2024

@EUA

Can you load the k10temp module and show the temperature output from sensors command ?

@EUA
Copy link
Author

EUA commented Mar 18, 2024

Of-course I am.

Adapter: PCI adapter
Tctl:         +82.9°C

Unfortunately, zenpower does not work anymore.
With detailed info about Zen CPU's, might be you can fetch Voltage and Current info from SVI and revive the project as your fork...

@cyring
Copy link
Owner

cyring commented Mar 18, 2024

That's the odd thing:
Making use of the same SMU thermal address as the one mentioned in k10temp source code and not reading a temperature value !

Tctl Register has to be at 0x59800 + 0x308:

zencli smu 0x59B08

@cyring
Copy link
Owner

cyring commented Mar 19, 2024

If +82.9°C was not your current CPU temperature, it means sensors returned a garbage value.

@cyring
Copy link
Owner

cyring commented Mar 19, 2024

Unfortunately, zenpower does not work anymore. With detailed info about Zen CPU's, might be you can fetch Voltage and Current info from SVI and revive the project as your fork...

corefreq-cli -j

can output data in JSON, including voltage, power, temp

@EUA
Copy link
Author

EUA commented Mar 19, 2024

And k10temp is actually reading from the die temp. So it's reading perfectly correct while I am mining crypto with my CPU right now :) nct6799-isa-0290 is also reporting it as : TSI0_TEMP: +81.6°C right now.

Unfortunately, 8000G series has ultra thick IHS, glued with low grade thermal glue. (really a big shame for AMD!) Just altering thermal paste with PTM7950 or a liquid metal reduces temps up to 25C degree (of-course with AIO setup). I am planning to delid it soon, when my PTM7950 thermal pad comes from AliExpress. So might be my fan could gonna holiday even if I am torturing the CPU with cryptos...

zencli smu 0x59B08 returns all zeros, nothing more. So might be zencli not working OR, do you sure about if correct base address is really 0x59800 for my CPU?

While corefreq-cli -j can return those data, but AFAIK all linux users will definitely prefer to see it on lm-sensors directly. Not from another program. So we could move that value into Gnome shell, with freon extension. Think about it. I don't think if it's hard to do while you have already the working code... Probably req. just adding some numbers into header file and viola...

@cyring
Copy link
Owner

cyring commented Mar 19, 2024

@EUA

OR, do you sure about if correct base address is really 0x59800 for my CPU?

Brillant suggestion you have.

Looking closer into function k10temp_get_ccd_support which loops 8 times, starting from 0x59800 + 0x308, adding index multiplied by 4 at each step, and attempting a temperature read if bit 11 is raised.

So can you please read this range of the 7 remaining addresses ?

zencli smu 0x59B0C
zencli smu 0x59B10
zencli smu 0x59B14
zencli smu 0x59B18
zencli smu 0x59B1C
zencli smu 0x59B20
zencli smu 0x59B24

@cyring
Copy link
Owner

cyring commented Mar 20, 2024

@EUA Hello. Not sure if you were notified about above zencli readings ?

@EUA
Copy link
Author

EUA commented Mar 20, 2024

@EUA

OR, do you sure about if correct base address is really 0x59800 for my CPU?

Brillant suggestion you have.

Yup. Have some natural gift on beta testing. :) I have busy with soldering mosfets to my old motherboard last night.

And about for those registers; all the range cleared with zero.

@cyring
Copy link
Owner

cyring commented Mar 21, 2024

@EUA

OR, do you sure about if correct base address is really 0x59800 for my CPU?

Brillant suggestion you have.

Yup. Have some natural gift on beta testing. :) I have busy with soldering mosfets to my old motherboard last night.

And about for those registers; all the range cleared with zero.

If all cleared then no CCD.
And TCTL only at read_tempreg_nb_zen() which reads temperature at:

./zencli smu 0x00059800

Can you try, probably again, 0x00059800 ?

EDIT : I will program another method and come back with a commit for testing.

@cyring
Copy link
Owner

cyring commented Mar 21, 2024

Using your previous read of:

./zencli smu 0x00059800
[0x00059800] READ(smu) = 0x822b0000 (2183856128)
   60   56   52   48   44   40   36   32   28   24   20   16   12   08   04   00
 0000 0000 0000 0000 0000 0000 0000 0000 1000 0010 0010 1011 0000 0000 0000 0000

Now extracting bits and computing temperature:

echo $(( 0x822b0000 >> 21 ))
1041
echo $(( ((1041*5)/40)-49 ))
81

So the SMU thermal register address is definitely 0x00059800

I just merged all development commits into master which you can pull (or clone again) and test for temperature.

@EUA
Copy link
Author

EUA commented Mar 21, 2024

So what could be a problem? Some kernel options are not allowing to read them?
Temperature value is start to appear. But not for each core, yet...

@cyring
Copy link
Owner

cyring commented Mar 22, 2024

So what could be a problem? Some kernel options are not allowing to read them? Temperature value is start to appear. But not for each core, yet...

Cam you show me screenshots ?

In contrary to CCD, TCTL has to be be a single sensor so the reading scope should be Package in "Settings" window.

@EUA
Copy link
Author

EUA commented Mar 23, 2024

I got it. This from TCL, not CCD. At HWINFO (windows), we got detailed voltage and temperature info belongs to each core. Not one temp applied to each core. So, this is misleading. For now, unfil figure to read CCD from chip,it's better to not show SMT or Core but "Package" automatically at settings for 8000 Series APUs,...

Screenshot from 2024-03-23 03-50-27

Noticed that, core 010 minimum reported as 64... It's just a sw glitch I think. otherwise if you torture CPU 1, also CPU10 reports same value.

@cyring
Copy link
Owner

cyring commented Mar 23, 2024

I got it. This from TCL, not CCD. At HWINFO (windows), we got detailed voltage and temperature info belongs to each core. Not one temp applied to each core. So, this is misleading. For now, unfil figure to read CCD from chip,it's better to not show SMT or Core but "Package" automatically at settings for 8000 Series APUs,...

  • Sure it will be part of next commit.

    Phoenix v1 & v2 will also be set the same default.

    However I need Phoenix owners to help me confirm the SMU thermal register.

    My understanding is that Hawk Point is a single CCD: can you show the Core Topology ?

corefreq-cli -m

If true then TCTL is shared among all Cores: like any previous Ryzen generation

Noticed that, core 010 minimum reported as 64... It's just a sw glitch I think. otherwise if you torture CPU 1, also CPU10 reports same value.

  • Please show me as many screenshots and/or outputs as possible because it's difficult from here to figure what's the issue is.

  • Also sensors screenshots of HWINFO when a single and only one CPU is stressed out.

@EUA
Copy link
Author

EUA commented Mar 25, 2024

Indeed, at APU series, there are no discrete CCD as other Ryzen 7000 CPUs.
All is made from a single piece of silicon which includes the "CCD" complex.
This might be a reason about why your 7000 series code not work on APU.

Also different minimum report is not really important since it will be fade away with proper CCD thermal implementation...

Here is the info:

[root@Ryzen CoreFreq]# ./build/corefreq-cli -m
CPU Pkg  Apic  Core/Thread  Caches      (w)rite-Back (i)nclusive              
 #   ID   ID CCD CCX ID/ID L1-Inst Way  L1-Data Way      L2  Way      L3  Way 
000:BSP    0   0  0   0  0      32  8        32  8      1024  8 i   16384 16w 
001:  0    2   0  0   1  0      32  8        32  8      1024  8 i   16384 16w 
002:  0    4   0  0   2  0      32  8        32  8      1024  8 i   16384 16w 
003:  0    6   0  0   3  0      32  8        32  8      1024  8 i   16384 16w 
004:  0    8   0  1   4  0      32  8        32  8      1024  8 i   16384 16w 
005:  0   10   0  1   5  0      32  8        32  8      1024  8 i   16384 16w 
006:  0    1   0  0   0  1      32  8        32  8      1024  8 i   16384 16w 
007:  0    3   0  0   1  1      32  8        32  8      1024  8 i   16384 16w 
008:  0    5   0  0   2  1      32  8        32  8      1024  8 i   16384 16w 
009:  0    7   0  0   3  1      32  8        32  8      1024  8 i   16384 16w 
010:  0    9   0  1   4  1      32  8        32  8      1024  8 i   16384 16w 
011:  0   11   0  1   5  1      32  8        32  8      1024  8 i   16384 16w 

Also my HWINFO

Screenshot 2024-03-25 043825

@cyring
Copy link
Owner

cyring commented Mar 25, 2024

@EUA

Last commit 3778ece I'm removing Complex from the APU topology

Can you please test the change and post corefreq-cli -m


About HWINFO, I've no idea which those GFX temperature registers are ?

@cyring
Copy link
Owner

cyring commented Mar 26, 2024

Hello

Actions are transferred into #424 and a Wiki page is added for Ryzen 5 8600G

@cyring cyring added the bugfix label Mar 26, 2024
@EUA
Copy link
Author

EUA commented Mar 29, 2024

[root@Ryzen CoreFreq]# ./build/corefreq-cli -m
CPU Pkg  Apic  Core/Thread  Caches      (w)rite-Back (i)nclusive              
 #   ID   ID    ID     ID  L1-Inst Way  L1-Data Way      L2  Way      L3  Way 
000:BSP    0     0      0       32  8        32  8      1024  8 i   16384 16w 
001:  0    2     1      0       32  8        32  8      1024  8 i   16384 16w 
002:  0    4     2      0       32  8        32  8      1024  8 i   16384 16w 
003:  0    6     3      0       32  8        32  8      1024  8 i   16384 16w 
004:  0    8     4      0       32  8        32  8      1024  8 i   16384 16w 
005:  0   10     5      0       32  8        32  8      1024  8 i   16384 16w 
006:  0    1     0      1       32  8        32  8      1024  8 i   16384 16w 
007:  0    3     1      1       32  8        32  8      1024  8 i   16384 16w 
008:  0    5     2      1       32  8        32  8      1024  8 i   16384 16w 
009:  0    7     3      1       32  8        32  8      1024  8 i   16384 16w 
010:  0    9     4      1       32  8        32  8      1024  8 i   16384 16w 
011:  0   11     5      1       32  8        32  8      1024  8 i   16384 16w 

Since APU has GPU in it, CoreFreq might show the GPU clock also. Because soon gcc start to move some threads into GPU section at APU... So it counts as core too. Just brainstorming.

@cyring
Copy link
Owner

cyring commented Mar 29, 2024

The main issue is solved and the remaining actions are in list to do after this release candidate.
Thank you very much for your help. Feel free to close your issue.

@EUA EUA closed this as completed Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants