Hi, Last months, I used various shell and Python scripts to tune a system to run benchmarks.
There are many parameters to be set to "fully" configure a Linux: * Turbo Boost of Intel CPU * CPU scaling governor * CPU speed * Isolate CPU * Disable kernel RCU on isolated CPUs * etc. I added a new "sytem tune" command to the newly released perf 0.8.4. I implemented many operations: http://perf.readthedocs.io/en/latest/cli.html#system Right now, intel_pstate is better supported. I'm not sure about the CPU scaling governor when intel_pstate is not used, so this is one is not implemented yet. In my old Python script, I used the "userland" governor and a fixed speed for the CPUs. My old Python script also disabled interruptions (IRQ) on isolated CPUs. I will also implement that later. I don't know if setting the default CPU mask for IRQ is enough, or if it's better to set the CPU mask of all invididual IRQs. Example on the speed.python.org server: ----- haypo@speed-python$ sudo python3 -m perf system tune CPU Frequency: Minimum frequency of CPU 1 set to the maximum frequency CPU Frequency: Minimum frequency of CPU 3 set to the maximum frequency ... CPU Frequency: Minimum frequency of CPU 23 set to the maximum frequency Turbo Boost (MSR): Turbo Boost disabled on CPU 0: MSR 0x1a0 set to 0x4000850089 Turbo Boost (MSR): Turbo Boost disabled on CPU 1: MSR 0x1a0 set to 0x4000850089 ASLR: Full randomization Linux scheduler: Isolated CPUs (12/24): 1,3,5,7,9,11,13,15,17,19,21,23 Linux scheduler: RCU disabled on CPUs (12/24): 1,3,5,7,9,11,13,15,17,19,21,23 CPU Frequency: 0,2,4,6,8,10,12,14,16,18,20,22=min=1600 MHz, max=3333 MHz; 1,3,5,7,9,11,13,15,17,19,21,23=min=3333 MHz, max=3333 MHz Turbo Boost (MSR): CPU 0-23: disabled ----- "Reset" the config: ----- haypo@speed-python$ sudo python3 -m perf system reset CPU Frequency: Minimum frequency of CPU 1 reset to the minimum frequency CPU Frequency: Minimum frequency of CPU 3 reset to the minimum frequency ... CPU Frequency: Minimum frequency of CPU 23 reset to the minimum frequency Turbo Boost (MSR): Turbo Boost enabled on CPU 0: MSR 0x1a0 set to 0x850089 Turbo Boost (MSR): Turbo Boost enabled on CPU 1: MSR 0x1a0 set to 0x850089 ASLR: Full randomization Linux scheduler: Isolated CPUs (12/24): 1,3,5,7,9,11,13,15,17,19,21,23 Linux scheduler: RCU disabled on CPUs (12/24): 1,3,5,7,9,11,13,15,17,19,21,23 CPU Frequency: 0-23=min=1600 MHz, max=3333 MHz Turbo Boost (MSR): CPU 0-23: enabled ----- Victor _______________________________________________ Speed mailing list Speed@python.org https://mail.python.org/mailman/listinfo/speed