Hi there. I'm using nanobench, which recommends running pyperf system tune prior to benchmarking. I have done this, using sudo, and now my benchmark results are not only about twice as slow, but the error rate is often up to 40%. The biggest problem is that this issue persisted multiple reboots. At this point, I'm just hoping to get back to where I was and any support would be appreciated.
Are these changes supposed to persist? Are there any other steps I can take to reset them aside from pyperf system reset?
Tune output
> sudo pyperf system tune
Tune the system configuration to run benchmarks
Unit irqbalance.service could not be found.
Unit irqbalance.service could not be found.
System state
============
CPU: use 32 logical CPUs: 0-31
Perf event: Maximum sample rate: 1 per second
ASLR: Full randomization
Linux scheduler: No CPU is isolated
CPU Frequency: 0-31=min=max=3500 MHz
IRQ affinity: Default IRQ affinity: CPU 0-31
IRQ affinity: IRQ affinity: IRQ 0-15,26-29,31,41-42,44-45,47,51-67,69-70,72-81,83,118-127,129-131,133=CPU 0-31; IRQ 84=CPU 0; IRQ 85=CPU 1; IRQ 86=CPU 2; IRQ 87=CPU 3; IRQ 88=CPU 4; IRQ 89=CPU 5; IRQ 90=CPU 6; IRQ 91=CPU 7; IRQ 92=CPU 8; IRQ 93=CPU 9; IRQ 94=CPU 10; IRQ 95=CPU 11; IRQ 96=CPU 12; IRQ 97=CPU 13; IRQ 98=CPU 14; IRQ 99=CPU 15; IRQ 100=CPU 16; IRQ 101=CPU 17; IRQ 102=CPU 18; IRQ 103=CPU 19; IRQ 104=CPU 20; IRQ 105=CPU 21; IRQ 106=CPU 22; IRQ 107=CPU 23; IRQ 108=CPU 24; IRQ 109=CPU 25; IRQ 110=CPU 26; IRQ 111=CPU 27; IRQ 112=CPU 28; IRQ 113=CPU 29; IRQ 114=CPU 30; IRQ 115=CPU 31
Advices
=======
Linux scheduler: Use isolcpus=<cpu list> kernel parameter to isolate CPUs
Linux scheduler: Use rcu_nocbs=<cpu list> kernel parameter (with isolcpus) to not schedule RCU on isolated CPUs
Warnings
========
Turbo Boost (MSR): Failed to read MSR 0x1a0 from /dev/cpu/0/msr: [Errno 5] Input/output error
Errors
======
Turbo Boost (MSR): Failed to read MSR 0x1a0 from /dev/cpu/0/msr: [Errno 5] Input/output error
lscpu output
❯ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 43 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Vendor ID: AuthenticAMD
Model name: AMD Ryzen Threadripper 2950X 16-Core Processor
CPU family: 23
Model: 8
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
Stepping: 2
Frequency boost: enabled
CPU(s) scaling MHz: 98%
CPU max MHz: 3500.0000
CPU min MHz: 2200.0000
BogoMIPS: 6988.95
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 amd_dcm aperfmp
erf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cm
p_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core
perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx s
map clflushopt sha_ni xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_s
cale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov su
ccor smca sev sev_es
Virtualization features:
Virtualization: AMD-V
Caches (sum of all):
L1d: 512 KiB (16 instances)
L1i: 1 MiB (16 instances)
L2: 8 MiB (16 instances)
L3: 32 MiB (4 instances)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-31
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Mitigation; untrained return thunk; SMT vulnerable
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines, IBPB conditional, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
Srbds: Not affected
Tsx async abort: Not affected
Other info
Arch Linux
uname -a output: Linux thelio 6.2.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 22 Mar 2023 22:52:35 +0000 x86_64 GNU/Linux
No custom kernel flags
Python 3.10.10
pyperf 2.5.0 (I have since upgraded to 2.6.0 and tried to reset; doesn't help)
system reset output (2.6.0)
❯ sudo pyperf system reset
Reset system configuration
Unit irqbalance.service could not be found.
Unit irqbalance.service could not be found.
Actions
=======
Perf event: Max sample rate set to 100000 per second
CPU Frequency: Minimum frequency of CPU 0-31 reset to the minimum frequency
System state
============
CPU: use 32 logical CPUs: 0-31
Perf event: Maximum sample rate: 100000 per second
ASLR: Full randomization
Linux scheduler: No CPU is isolated
CPU Frequency: 0-31=min=2200 MHz, max=3500 MHz
IRQ affinity: Default IRQ affinity: CPU 0-31
IRQ affinity: IRQ affinity: IRQ 0-15,26-29,31,41-42,44-45,47,51-67,69-70,72-81,83,118-127,129-131,133=CPU 0-31; IRQ 84=CPU 0; IRQ 85=CPU 1; IRQ 86=CPU 2; IRQ 87=CPU 3; IRQ 88=CPU 4; IRQ 89=CPU 5; IRQ 90=CPU 6; IRQ 91=CPU 7; IRQ 92=CPU 8; IRQ 93=CPU 9; IRQ 94=CPU 10; IRQ 95=CPU 11; IRQ 96=CPU 12; IRQ 97=CPU 13; IRQ 98=CPU 14; IRQ 99=CPU 15; IRQ 100=CPU 16; IRQ 101=CPU 17; IRQ 102=CPU 18; IRQ 103=CPU 19; IRQ 104=CPU 20; IRQ 105=CPU 21; IRQ 106=CPU 22; IRQ 107=CPU 23; IRQ 108=CPU 24; IRQ 109=CPU 25; IRQ 110=CPU 26; IRQ 111=CPU 27; IRQ 112=CPU 28; IRQ 113=CPU 29; IRQ 114=CPU 30; IRQ 115=CPU 31
Warnings
========
Turbo Boost (MSR): Failed to read MSR 0x1a0 from /dev/cpu/0/msr: [Errno 5] Input/output error
Errors
======
Turbo Boost (MSR): Failed to read MSR 0x1a0 from /dev/cpu/0/msr: [Errno 5] Input/output error
Hi there. I'm using nanobench, which recommends running
pyperf system tune
prior to benchmarking. I have done this, usingsudo
, and now my benchmark results are not only about twice as slow, but the error rate is often up to 40%. The biggest problem is that this issue persisted multiple reboots. At this point, I'm just hoping to get back to where I was and any support would be appreciated.Are these changes supposed to persist? Are there any other steps I can take to reset them aside from
pyperf system reset
?Tune output
lscpu output
Other info
uname -a
output:Linux thelio 6.2.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 22 Mar 2023 22:52:35 +0000 x86_64 GNU/Linux
system reset output (2.6.0)
hwinfo output