Date: Wed, 25 Feb 2009 16:45:35 -0800 From: Daniel Duerr <dd@gizmocreative.com> To: freebsd-acpi@freebsd.org Subject: EST SpeedStep with E2140 shows wrong frequencies Message-ID: <03537785-1D9B-4482-939F-318580227167@gizmocreative.com>
next in thread | raw e-mail | index | archive | help
Hello, I have been following the developments (or lack thereof) around EST and the more recent Intel Dual-core CPUs and was very happy to discover some new results with the latest FreeBSD 7.1 versions, specifically Gabriel Lavoie's recent posts about his success with the E5200 CPU. My CPU is an Intel Pentium Dual 65nm E2140 @ 1.6GHz which is supposed to use under 8W of power when idled down with EST. Since this server is always on, this power savings would be wonderful. Today, I decided to give it another shot and updated my 7.1-STABLE amd64 system to the current sources. I re-enabled the cpufreq driver in my /boot/loader.conf and now, upon bootup, no longer get the message about EST not recognizing my CPU which seems like a great step forward. Furthermore, EST is actually attaching to the cpufreq subsystem and populating frequency information as it should. Unfortunately I am experiencing two issues though: 1) the resulting frequency information picked up by EST don't seem complete/accurate for my CPU 2) the behavior changes further if I disable the multiple cores in my BIOS Here's the relevant output from dmesg when both cores are enabled: CPU: Intel(R) Pentium(R) Dual CPU E2140 @ 1.60GHz (1596.01-MHz K8- class CPU) Origin = "GenuineIntel" Id = 0x6fd Stepping = 13 Features = 0xbfebfbff < 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=0xe39d<SSE3,RSVD2,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> Cores per package: 2 ... and sysctl -a | grep freq shows the following output: dev.cpu.0.freq: 800 dev.cpu.0.freq_levels: 800/31000 dev.est.0.freq_settings: 800/31000 dev.est.1.freq_settings: 800/31000 dev.cpufreq.0.%driver: cpufreq dev.cpufreq.0.%parent: cpu0 dev.cpufreq.1.%driver: cpufreq dev.cpufreq.1.%parent: cpu1 Now, if I disable the 2nd core I get this: CPU: Intel(R) Pentium(R) Dual CPU E2140 @ 1.60GHz (1608.77-MHz K8- class CPU) Origin = "GenuineIntel" Id = 0x6fd Stepping = 13 Features = 0xafebfbff < 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,TM,PBE> Features2=0xe39d<SSE3,RSVD2,MON,DS_CPL,EST,TM2,SSSE3,CX16,xTPR,PDCM> AMD Features=0x20100800<SYSCALL,NX,LM> AMD Features2=0x1<LAHF> ... with no mention of "Cores per package" or a second CPU. Here's the sysctl output: dev.cpu.0.freq_levels: 800/31000 600/13000 dev.est.0.freq_settings: 800/31000 600/13000 dev.cpufreq.0.%driver: cpufreq dev.cpufreq.0.%parent: cpu0 So, it seems that with the 2nd core disabled I am at least offered two choices. The choices, however, don't seem to match up with my CPU speed nor do I get anywhere near the idle power consumption that I am supposed to (I verified this with a Kill A Watt meter which throttling the CPU up & down). Does anyone have any ideas on this? I'd love to get this working. Thanks! Daniel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?03537785-1D9B-4482-939F-318580227167>