Lurkki14/tuxclocker

FR: Support for Energy Performance Preference (EPP) - the new 'governor' for AMD CPUs.

Closed this issue · 14 comments

The current CPU overclocking features include the ability to change governor, which is the traditional way to deal with that kind of requirement, but for modern AMD CPUs, where the amd-pstate-epp driver is in use (which is the default since recent kernel versions), there are only two governors, performance and powersave. These are supported by tuxclocker:

image

But rather than changing governor, when using the AMD EPP driver, the better way to have the CPU performance change is not to change the governor, but to change the Energy Performance Preference. This EPP feature is also supported by some Intel CPUs, there's a tool for it called x86_energy_perf_policy and it's also supported by cpupower (ie cpupower set --perf-bias 0) but those only support Intel CPUs for now. EPP can also be changed on AMD CPUs using tools like corefreq-cli, or for example, the DE's power management tools, for example KDE's 'Battery' plasma widget has a nice slider for it:

image

Using the Performance EPP preference with the powersave governor gets you the same performance as using the Performance governor, but using that same 'powersave' governor with the EPP preference set to Energy, the CPU will be far more energy-efficient. So, the advisable way to handle what we used to do by changing governor, with new AMD CPUs using the new driver, is to just leave the governor as it is, and change EPP instead.

So that's why it would be cool if tuxclocker supported it :)

Seems pretty easy to implement, but I'm not sure if there's a way to get the current numeric value. Can you run find /sys/devices/system/cpu/cpu0/power/ -type f | xargs tail -n +1 to see?

find /sys/devices/system/cpu/cpu0/power/ -type f | xargs tail -n +1

That doesn't get it but I use this:

sudo find /sys/devices/system/cpu/cpufreq/ -name energy_performance_preference |  xargs tail -n +1                                                                                                                                                                  
==> /sys/devices/system/cpu/cpufreq/policy11/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy8/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy6/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy18/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy4/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy16/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy2/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy14/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy22/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy12/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy9/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy20/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy10/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy7/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy19/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy5/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy17/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy3/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy15/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy1/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy23/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy13/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy21/energy_performance_preference <==
performance

(They're all set to performance right now)

Or set them with sudo find /sys/devices/system/cpu/cpufreq/ -name energy_performance_preference | xargs -I {} sudo sh -c 'echo "balance_performance" > {}' (Just change the echo;ed part to contain a preset level -they are listed on each CPU as so for CPU 0:

cat /sys/devices/system/cpu/cpufreq/policy0/energy_performance_available_preferences 
default performance balance_performance balance_power power

BTW These are in a strange order, from fastest to most energy efficient/slowest it goes performance > balance_performance > default > balance_power > power

Implemented with ba014a7

Implemented with ba014a7

Awesome!! Thanks @Lurkki14 !

I'm afraid it doesn't quite work right.... I tried it and set everything to Power preference, and this is what I got:

sudo find /sys/devices/system/cpu/cpufreq/ -name energy_performance_preference | sort -h |  xargs tail -n +1
==> /sys/devices/system/cpu/cpufreq/policy0/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy10/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy11/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy12/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy13/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy14/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy15/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy16/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy17/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy18/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy19/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy1/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy20/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy21/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy22/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy23/energy_performance_preference <==
performance

==> /sys/devices/system/cpu/cpufreq/policy2/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy3/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy4/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy5/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy6/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy7/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy8/energy_performance_preference <==
power

==> /sys/devices/system/cpu/cpufreq/policy9/energy_performance_preference <==
power

This is a 12 core 24 thread CPU and it's set the preference for the number of threads that I have cores, but missed the second half, so the first 6 cores of the 12 got set but half of them didn't.

Also, I notice that if I change it somewhere else, I have to exit tuxclocker's GUI and restart it, so that it will show the change. This might be a separate issue, I'm not sure if tuxclocker usually updates when changes are made elsewhere (like if I use nvidia-smi or something I don't know if it updates in tuxclocker's GUI?)

This is a 12 core 24 thread CPU and it's set the preference for the number of threads that I have cores, but missed the second half, so the first 6 cores of the 12 got set but half of them didn't.

Sounds like this should affect other CPU settings like governor setting as well.

Run these commands to get a better idea of what's happening:

cat /proc/cpuinfo (one section is enough)

ls /sys/devices/system/cpu/cpufreq/

ls /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference

find /sys/devices/system/cpu/cpu0/topology/ -type f | xargs tail -n +1

Also, how many cpuN lines does cat /proc/stat show?

I'm not sure if tuxclocker usually updates when changes are made elsewhere

It doesn't, and the current value is only checked at launch

Hi @Lurkki14 Sorry I took so long to reply, I didn't get a notification for your replies. Weird. I just popped by to message you and saw this waiting for me. Sorry about that!

To answer your questions:

cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 33
model name      : AMD Ryzen 9 5900X 12-Core Processor
stepping        : 0
microcode       : 0xa20102b
cpu MHz         : 3673.795
cache size      : 512 KB
physical id     : 0
siblings        : 24
core id         : 0
cpu cores       : 12
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass srso
bogomips        : 7403.70
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

processor       : 1
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 33
model name      : AMD Ryzen 9 5900X 12-Core Processor
stepping        : 0
microcode       : 0xa20102b
cpu MHz         : 3673.791
cache size      : 512 KB
physical id     : 0
siblings        : 24
core id         : 1
cpu cores       : 12
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass srso
bogomips        : 7403.70
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

....(this is just the first physical core.... now the last physical core)....

processor       : 22
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 33
model name      : AMD Ryzen 9 5900X 12-Core Processor
stepping        : 0
microcode       : 0xa20102b
cpu MHz         : 3812.019
cache size      : 512 KB
physical id     : 0
siblings        : 24
core id         : 12
cpu cores       : 12
apicid          : 25
initial apicid  : 25
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass srso
bogomips        : 7403.70
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

processor       : 23
vendor_id       : AuthenticAMD
cpu family      : 25
model           : 33
model name      : AMD Ryzen 9 5900X 12-Core Processor
stepping        : 0
microcode       : 0xa20102b
cpu MHz         : 4478.386
cache size      : 512 KB
physical id     : 0
siblings        : 24
core id         : 13
cpu cores       : 12
apicid          : 27
initial apicid  : 27
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm debug_swap
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass srso
bogomips        : 7403.70
TLB size        : 2560 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]

I included 4 of the sections I know you said one should be enough but I found it interesting that it get's up to core id=13 out of cores=12, and thought it may be relevant.

ls /sys/devices/system/cpu/cpufreq/
total 0
0 drwxr-xr-x 26 root root 0 Nov 26 15:52 ./
0 drwxr-xr-x 34 root root 0 Nov 25 23:29 ../
0 drwxr-xr-x  2 root root 0 Nov 25 23:29 policy0/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy1/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy10/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy11/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy12/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy13/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy14/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy15/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy16/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy17/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy18/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy19/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy2/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy20/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy21/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy22/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy23/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy3/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy4/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy5/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy6/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy7/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy8/
0 drwxr-xr-x  2 root root 0 Nov 25 23:30 policy9/
ls /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference                                                                                                                                                                                                 127 
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu10/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu11/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu12/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu13/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu14/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu15/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu16/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu17/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu18/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu19/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu1/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu20/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu21/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu22/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu23/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu2/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu3/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu4/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu5/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu6/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu7/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu8/cpufreq/energy_performance_preference
0 -rw-r--r-- 1 root root 4.0K Nov 25 23:30 /sys/devices/system/cpu/cpu9/cpufreq/energy_performance_preference
find /sys/devices/system/cpu/cpu0/topology/ -type f | xargs tail -n +1
==> /sys/devices/system/cpu/cpu0/topology/cluster_cpus <==
00001001

==> /sys/devices/system/cpu/cpu0/topology/die_id <==
0

==> /sys/devices/system/cpu/cpu0/topology/cluster_cpus_list <==
0,12

==> /sys/devices/system/cpu/cpu0/topology/physical_package_id <==
0

==> /sys/devices/system/cpu/cpu0/topology/core_cpus_list <==
0,12

==> /sys/devices/system/cpu/cpu0/topology/die_cpus_list <==
0-23

==> /sys/devices/system/cpu/cpu0/topology/core_siblings <==
00ffffff

==> /sys/devices/system/cpu/cpu0/topology/cluster_id <==
65535

==> /sys/devices/system/cpu/cpu0/topology/core_siblings_list <==
0-23

==> /sys/devices/system/cpu/cpu0/topology/package_cpus <==
00ffffff

==> /sys/devices/system/cpu/cpu0/topology/package_cpus_list <==
0-23

==> /sys/devices/system/cpu/cpu0/topology/die_cpus <==
00ffffff

==> /sys/devices/system/cpu/cpu0/topology/thread_siblings_list <==
0,12

==> /sys/devices/system/cpu/cpu0/topology/core_id <==
0

==> /sys/devices/system/cpu/cpu0/topology/core_cpus <==
00001001

==> /sys/devices/system/cpu/cpu0/topology/thread_siblings <==
00001001
cat /proc/stat
cpu  2081417 342 1810832 137207911 224022 0 23576 0 0 0
cpu0 69539 3 68434 5733499 10955 0 2300 0 0 0
cpu1 85915 4 62421 5732952 9689 0 2297 0 0 0
cpu2 80017 4 68414 5728165 12419 0 1242 0 0 0
cpu3 85324 34 61314 5732211 14108 0 981 0 0 0
cpu4 77307 2 61172 5736792 12142 0 5157 0 0 0
cpu5 79564 6 61074 5742227 10381 0 259 0 0 0
cpu6 91873 8 56511 5729284 10833 0 4533 0 0 0
cpu7 227341 28 344626 5319675 2447 0 81 0 0 0
cpu8 75633 113 64487 5738208 8895 0 175 0 0 0
cpu9 82804 5 61589 5736729 8066 0 244 0 0 0
cpu10 69575 5 69089 5699495 5355 0 153 0 0 0
cpu11 85939 4 55430 5740720 10159 0 196 0 0 0
cpu12 93201 10 103546 5673215 7489 0 53 0 0 0
cpu13 68893 3 62429 5749039 11121 0 131 0 0 0
cpu14 80522 6 61304 5739406 11947 0 111 0 0 0
cpu15 71632 9 58614 5749639 11377 0 1491 0 0 0
cpu16 74974 10 59736 5751257 8981 0 111 0 0 0
cpu17 83889 3 60205 5741096 7801 0 1644 0 0 0
cpu18 78671 4 54945 5749784 9229 0 79 0 0 0
cpu19 86524 5 64935 5733288 8142 0 118 0 0 0
cpu20 86689 55 62406 5732776 7632 0 1916 0 0 0
cpu21 76022 3 63659 5741769 8554 0 118 0 0 0
cpu22 88940 2 68887 5727463 8006 0 95 0 0 0
cpu23 80613 3 55590 5749210 8283 0 77 0 0 0
intr 1383241561 43 0 0 0 0 0 12 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177997 102957 134840 157557 121297 120364 102622 104801 63478 64179 66499 70084 70603 69837 106267 97109 125220 100363 112960 83899 59296 61878 57436 39741 76639 0 0 0 0 0 0 0 0 8449355 0 0 0 0 0 0 0 0 797159 0 0 0 0 0 0 0 853 0 9515074 0 0 38974 1807 1 7081412 5323295 3354612 6180894 180798 9406 754 1010 1864 8078 4309 1216 7226 3046 1842 5134 2717 6444 1052 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ctxt 2476429272
btime 1700915381
processes 178771
procs_running 1
procs_blocked 0
softirq 318849349 8104770 8552177 453 23187656 178875 0 915195 144883511 89425 132937287

Thanks again for adding this :) I imagine you'll be able to get it to work without problems.

Thanks! It works! :)

image

The core sorting is a little bit weird but it's the same in the shell so I'm used to it.

BTW @tujhen package which I branched to test this, was super broken tho :/ fails on the missing icon and desktop file, service file generates errors because it has no downloadable source set, version is not set, files are uploaded which should be downloaded by the service.... I think it needs a little bit of a cleanup my dude :)

Opened separate issue for the sorting issue #76