Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 6 Mar 2010 01:03:22 -0600
From:      Kevin Day <toasty@dragondata.com>
To:        "Daniel O'Connor" <doconnor@gsoft.com.au>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: ACPI/power implementation causing performance loss with i7/Nehalem turbo boost
Message-ID:  <003E5B1C-2471-47B2-9999-27719A5E26FE@dragondata.com>
In-Reply-To: <201003061635.44684.doconnor@gsoft.com.au>
References:  <0ECDEB94-E60E-45C7-98AC-5E948DE4649C@dragondata.com> <201003061635.44684.doconnor@gsoft.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mar 6, 2010, at 12:05 AM, Daniel O'Connor wrote:

> On Sat, 6 Mar 2010, Kevin Day wrote:
>> So, it seems that the VMware hypervisor is deactivating cores on the
>> CPU when idle, but FreeBSD itself isn't. Is anyone working on giving
>> FreeBSD's idle loop/scheduler the ability to go into deeper sleep
>> states? It seems this would have more than just a power savings
>> benefit now.
>=20
> What does "sysctl dev.cpu.0.cx_lowest" say?
> And "sysctl dev.cpu.$N.cx_supported" ?
>=20

dev.cpu.0.cx_supported: C1/3 C2/205 C3/245
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 500us

> ISTR FreeBSD defaults to a very conservative setting here so you may=20=

> have to set it manually.
>=20



Yeah, sorry for not mentioning that I had tried this and didn't see any =
change, so I thought I was on the wrong track.

# sysctl hw.acpi.cpu.cx_lowest=3DC3
hw.acpi.cpu.cx_lowest: C1 -> C3

but it doesn't look like it's ever leaving C1:

hw.acpi.cpu.cx_lowest: C3
dev.cpu.0.cx_supported: C1/3 C2/205 C3/245
dev.cpu.0.cx_lowest: C3
dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.1.cx_supported: C1/3 C2/205 C3/245
dev.cpu.1.cx_lowest: C3
dev.cpu.1.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.2.cx_supported: C1/3 C2/205 C3/245
dev.cpu.2.cx_lowest: C3
dev.cpu.2.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.3.cx_supported: C1/3 C2/205 C3/245
dev.cpu.3.cx_lowest: C3
dev.cpu.3.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.4.cx_supported: C1/3 C2/205 C3/245
dev.cpu.4.cx_lowest: C3
dev.cpu.4.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.5.cx_supported: C1/3 C2/205 C3/245
dev.cpu.5.cx_lowest: C3
dev.cpu.5.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.6.cx_supported: C1/3 C2/205 C3/245
dev.cpu.6.cx_lowest: C3
dev.cpu.6.cx_usage: 100.00% 0.00% 0.00% last 500us
dev.cpu.7.cx_supported: C1/3 C2/205 C3/245
dev.cpu.7.cx_lowest: C3
dev.cpu.7.cx_usage: 100.00% 0.00% 0.00% last 500us

Is the note about adding hint.apic.0.clock=3D0 mentioned on =
http://wiki.freebsd.org/TuningPowerConsumption needed to leave C1 at all =
on SMP systems?

-- Kevin



Just in case it helps anyone else:

CPU: Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz (2270.06-MHz =
K8-class CPU)
  Origin =3D "GenuineIntel"  Id =3D 0x106a5  Stepping =3D 5
  =
Features=3D0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE=
,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  =
Features2=3D0x9ce3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PD=
CM,DCA,SSE4.1,SSE4.2,POPCNT>
  AMD Features=3D0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=3D0x1<LAHF>
  TSC: P-state invariant
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads
 cpu0 (BSP): APIC ID: 16
 cpu1 (AP): APIC ID: 17
 cpu2 (AP): APIC ID: 18
 cpu3 (AP): APIC ID: 19
 cpu4 (AP): APIC ID: 20
 cpu5 (AP): APIC ID: 21
 cpu6 (AP): APIC ID: 22
 cpu7 (AP): APIC ID: 23





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?003E5B1C-2471-47B2-9999-27719A5E26FE>