i386/135447: [i386] [request] Intel Core i7 and Nehalem-EP new
features not supported
Alexander Motin
mav at FreeBSD.org
Mon Sep 20 15:50:04 UTC 2010
The following reply was made to PR i386/135447; it has been noted by GNATS.
From: Alexander Motin <mav at FreeBSD.org>
To: Andriy Gapon <avg at freebsd.org>
Cc: Dmitry Kubov <dk at garant.ru>, jh at freebsd.org,
bug-followup at freebsd.org
Subject: Re: i386/135447: [i386] [request] Intel Core i7 and Nehalem-EP new
features not supported
Date: Mon, 20 Sep 2010 18:42:57 +0300
Andriy Gapon wrote:
> on 20/09/2010 17:54 Dmitry Kubov said the following:
>> dev.cpu.7.cx_supported: C1/3 C2/205 C3/245
> Note these------------------------^^^----^^^
>> dev.cpu.7.cx_lowest: C3
>> dev.cpu.7.cx_usage: 100.00% 0.00% 0.00% last 500us
> And this --------------------------------------^^^^^
>> C2/C3 not used at all
>
> 205 * 3 and 245 * 3 are both greater than 500, so this is the reason why they are
> never entered.
The only way to enter C-states with so high latency is significantly
increase CPUs' continuous sleep time. Sleep time of 500ms there is
artificial and calculated as 1000000/(2*hz). 8.1 was unable yet to
measure real sleep time in C1. But 2*hz is quite realistic estimation
for idle system.
Recently I have committed to 9-CURRENT large set of patches, making idle
CPUs to not wake up on timer interrupts when it is not needed. It allows
idle CPUs sleep up to as much as 100000us, making any C-states available
now effectively usable. I can acknowledge that TurboBoost on my Core i7
870 gives about 10% benefit when only one physical core is used:
http://docs.freebsd.org/cgi/mid.cgi?4C959830.3060808
I have requests and wish to merge these changes into 8-STABLE, but most
likely it won't happen in nearest few months, as code is very new and
requires more testing.
Until that time I recommend you to follow this guide:
http://wiki.freebsd.org/TuningPowerConsumption
It was actually oriented on laptops, but effective usage of C2/C3 states
was one of it's goals. Also on my Core i7 870 LAPIC dies in C2/C3
states, so consider migration to i8254 timer, as also described in this
guide.
--
Alexander Motin
More information about the freebsd-acpi
mailing list