1

Trying to see how to force CPU to run at higher freq on a HP ProLiant system with SLES 11 SP2.

/# modprobe -vv acpi-cpufreq
insmod /lib/modules/3.0.13-0.27-default/kernel/drivers/cpufreq/acpi-cpufreq.ko
FATAL: Error inserting acpi_cpufreq (/lib/modules/3.0.13-0.27-default/kernel/drivers/cpufreq/acpi-cpufreq.ko): Input/output error

Module is there.

/# ls -l /lib/modules/3.0.13-0.27-default/kernel/drivers/cpufreq/acpi-cpufreq.ko
-rw-r--r-- 1 root root 28864 Feb 15  2012 /lib/modules/3.0.13-0.27-default/kernel/drivers/cpufreq/acpi-cpufreq.ko

and I don't have noacpi in the boot command.

any hint?

ewwhite
  • 194,921
  • 91
  • 434
  • 799
Billy K
  • 99
  • 1
  • 3
  • 14

4 Answers4

1

Actually, when using an HP ProLiant system for high-frequency trading, there are additional options available to you in the BIOS to ensure deterministic low-latency performance...

The whitepaper we refer to is:
Configuring and Tuning HP ProLiant Servers for Low-Latency Applications

The main takeaway is to run with the "Maximum Performance" profile. You can also enter a special BIOS menu using CTRL-A from the RBSU screen. This allows you to toggle the "Processor Power and Utilization Monitoring" flag off.

The recommended SLES (and RHEL) OS-level settings are also contained within the document.

So I'm curious as to why you're interested in manipulating CPU frequency from the OS. I'm assuming you'd want the highest CPU clock speed during the periods of trading activity, so when would you require OS control? (We actually disable all OS CPU speed control)

It looks like you're using an E5-2690 CPU. You don't have super-fine control of Turbo-Boost operation, but you can create the conditions to maximize the potential of the CPU. In the past, we disabled turbo boost because of jitter. We've been able to get that under control and now run with it on. This is also covered in the document.

Example BIOS flags... enter image description here

ewwhite
  • 194,921
  • 91
  • 434
  • 799
  • Yes, I had that doc and setup BIOS accordingly. It is the developer who would like to play with freq and turbo mode for testing and then I ran into the module loading issue. Thanks for the tip. Yes, We are playing with disable cores to push higher freq. – Billy K Jul 09 '13 at 13:17
  • But it should be done at the BIOS level, not the OS level. – ewwhite Jul 09 '13 at 13:24
0

On an HP ProLiant server, you may need to use the pcc_cpufreq module instead of acpi_cpufreq.

Michael Hampton
  • 237,123
  • 42
  • 477
  • 940
0

ha.. answering my own question. Found a doc http://h20000.www2.hp.com/bc/docs/support/SupportManual/c02011017/c02011017.pdf

Basically we have every power management or "green" options disabled to keep everyone burning hot for trading applications. Found out we have to set "Power Regular for ProLiant" to "OS Control Mode".

Once this is set, we were able to load the module and manipulate CPU freq with utilities from cpupower RPM.

For example:

# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 1.20 GHz - 2.90 GHz
  available frequency steps: 2.90 GHz, 2.90 GHz, 2.80 GHz, 2.70 GHz, 2.50 GHz, 2.40 GHz, 2.30 GHz, 2.20 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz
  available cpufreq governors: conservative, userspace, powersave, ondemand, performance
  current policy: frequency should be within 1.20 GHz and 2.90 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.90 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
    3400 MHz max turbo 4 active cores
    3600 MHz max turbo 3 active cores
    3600 MHz max turbo 2 active cores
    3800 MHz max turbo 1 active cores
ewwhite
  • 194,921
  • 91
  • 434
  • 799
Billy K
  • 99
  • 1
  • 3
  • 14
-1

This error occurs if the board/CPU doesn't support P-states. In general, input/output errors on kernel module loading means the hardware lacks support for what you're trying to load.

Edit: right, cpufreq != overclocking.

Nathan C
  • 14,901
  • 4
  • 42
  • 62