Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Jul 2010 16:53:10 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        freebsd-performance@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Intel TurboBoost in practice
Message-ID:  <4C4AF046.40507@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi.

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
kern.eventtimer.singlemul=1
kern.hz="100"

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C4AF046.40507>