Intel TurboBoost in practice

Alexander Motin mav at
Sat Jul 24 14:18:07 UTC 2010


I've make small observations of Intel TurboBoost technology under
FreeBSD. This technology allows Intel Core i5/i7 CPUs to rise frequency
of some cores if other cores are idle and power/thermal conditions
permit. CPU core counted as idle, if it has been put into C3 or deeper
power state (may reflect ACPI C2/C3 states). So to reach maximal
effectiveness, some tuning may be needed.

Here is my test case: FreeBSD 9-CURRENT on Core i5 650 CPU, 3.2GHz + 1/2
TurboBoost steps (+133/+266MHz) with boxed cooler at the open air. I was
measuring building time of the net/mpd5 from sources, using only one CPU
core (cpuset -l 0 time make).

Untuned system (hz=1000):     14.15 sec
Enabled ACPI C2 (hz=1000+C2): 13.85 sec
Enabled ACPI C3 (hz=1000+C3): 13.91 sec
Reduced HZ (hz=100):          14.16 sec
Enabled ACPI C2 (hz=100+C2):  13.85 sec
Enabled ACPI C3 (hz=100+C3):  13.86 sec
Timers tuned* (hz=100):       14.10 sec
Enabled ACPI C2 (hz=100+C2):  13.71 sec
Enabled ACPI C3 (hz=100+C3):  13.73 sec

All numbers tested few times and are repeatable up to +/-0.01sec.

*) Timers were tuned to reduce interrupt rates and respectively increase
idle cores sleep time. These lines were added to loader.conf:
sysctl kern.eventtimer.timer1=i8254
sysctl kern.eventtimer.timer2=NONE

PS: In this case benefit is small, but it is the least that can be
achieved, depending on CPU model. Some models allow frequency to be
risen by up to 6 steps (+798MHz).

PPS: I expect even better effect achieved by further reducing interrupt
rates on idle CPUs.

Alexander Motin

More information about the freebsd-performance mailing list