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>