<div dir="ltr"><span style="font-size:12.8px">> @Zoran: I also have an X220 (2nd gen Core I5) on which I did not undertake any Coreboot experiments yet. But I</span><div><span style="font-size:12.8px">> suppose you are rather asking for much newer CPUs from the 6th and 7th generation?</span><br style="font-size:12.8px">><br style="font-size:12.8px"><span style="font-size:12.8px">> Cheers, Daniel</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Hello Daniel,</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Second generation CORE is SNB. CPUID something like 0x20xyz. CORE 2nd gen. was released Y2011.</span></div><div><span style="font-size:12.8px">Third generation CORE is IVB. CPUID something like 0x30xyz. Core 3rd gen. was released Y2012.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">What I am talking/pointing ot about is the following:</span></div><div><span style="font-size:12.8px"><b><i><u>Fourth generation CORE is HSW. CPUID something like 0x40651 (i5 4300U) - HP 840 G1 - one of my laptops. Released Y2013.</u></i></b></span></div><div><span style="font-size:12.8px"><b><i><u>Sixth generation CORE is SKL. CPUID something like 0x606E3 (i5 6200U) - HP 450 G3 - another of my laptops. Released Y2015.</u></i></b></span></div><div><span style="font-size:12.8px"><b><i><u><br></u></i></b></span></div><div><span style="font-size:12.8px">4th (HSW-U) and 6th (SKL-U) generations of CPUs in laptops: these are ones I am talking about/pointing to (don't think CORE 5th gen. is important).</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Sorry I am late with Re:.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Thank you,</span></div><div><span style="font-size:12.8px">Zoran</span></div><div><span style="font-size:12.8px">_______</span></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 3, 2016 at 12:47 AM, Daniel Kulesz via coreboot <span dir="ltr"><<a href="mailto:coreboot@coreboot.org" target="_blank">coreboot@coreboot.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<span class=""><br>
On Mon, 2 May 2016 13:16:15 +0200<br>
Nico Huber <<a href="mailto:nico.huber@secunet.com">nico.huber@secunet.com</a>> wrote:<br>
<br>
> On 02.05.2016 01:06, Daniel Kulesz wrote:<br>
> >>> - disabling "cpu power management" makes the idle consumption raise to 12,8W<br>
> >> Is this 12.8W compared to 7.5W (i.e. with lowest backlight)?<br>
> >><br>
> ><br>
> > Nope, I am only comparing with highest backlight now, so it is 12.8W versus 10.0W here.<br>
> Hmmm, 2.8W... whatever that option does it confuses me.<br>
><br>
</span>Well, I assume it disables C3 and C4.<br>
<span class=""><br>
> >>> Any ideas which could solve this mystery?<br>
> >>><br>
> >> One more thing you can test, in case your Linux uses the intel_idle<br>
> >> driver: There is a kernel parameter intel_idle.max_cstate, if you boot<br>
> >> the vendor BIOS with defaults and Linux with intel_idle.max_cstate=2 it<br>
> >> should use C1/C2 but not C3/C4 and thus behave more like coreboot.<br>
> >><br>
> > Okay. I was just aware of the generic "processor.max_cstate=2"<br>
> > parameter. I tried with both parameters using the vendor BIOS and here<br>
> > are the results:<br>
> ><br>
> > intel_idle.max_cstate=2: 10W in idle at full brightness (no effect)<br>
> > processor.max_cstate=2: 12.6W in idle at full brightness<br>
> ><br>
> > So it seems plausible that this issue is related to Coreboot not<br>
> > (properly?) supporting C3/C4. So this is a known issue then? If yes,<br>
> > imho it should be *definitely* documented on the wiki page since it<br>
> > could be a "showstopper" for many adopters who need the maximum battery<br>
> > life the X200 is able to deliver only with the vendor BIOS at this point<br>
> > in time ...<br>
> Well, let's see what we got:<br>
>   o 10.0W with "cpu power management"<br>
>   o 12.6W with "cpu power management" but max_cstate=2<br>
>   o 12.8W without "cpu power management"<br>
> FWIW, C2 usually saves more power. So I wonder how good your measuring<br>
> at the wall plug works. Another easy option to measure the power<br>
> consumption is looking at what the battery reports (usually<br>
> /sys/class/power_supply/BAT0/power_now).<br>
><br>
<br>
</span>Well sure, the power consumption is not always 100% steady so sometimes it "flakes" around 0.1 - 0.2W, depending on e.g. whether the fan is running or not or what some background processes do. So I just took the values that were reported by my external meter most of the time, and these could be slightly off.<br>
<br>
Of course, using "power_now" would be more accurate, but I would have to take like 100 measurements and then take the median or something like that. Imho a bit too much in this case since the difference is so big that it's visible at first sight.<br>
<span class=""><br>
<br>
> Regarding C3/C4 support, AFAIK, we implemented it fully but it just<br>
> didn't work on the system we originally ported coreboot for (Roda/RK9).<br>
> The system kept resetting whenever it should enter (or maybe exit) C3,<br>
> IIRC.  You could give it a try on your X200 though. Whatever the issue<br>
> on the RK9 was, it might be board specific.<br>
><br>
> If you want to try it, in src/mainboard/lenovo/x200/cstates.c add:<br>
>         {<br>
>                 /* acpi C3 / cpu C3 */<br>
>                 3, 0x02,  300,<br>
>                 { ACPI_ADDRESS_SPACE_FIXED, 1, 2, { 1 }, 0x20, 0 }<br>
>         },<br>
> for C3 or<br>
>         {<br>
>                 /* acpi C3 / cpu C4 */<br>
>                 3, 0x02,  300,<br>
>                 { ACPI_ADDRESS_SPACE_FIXED, 1, 2, { 1 }, 0x30, 0 }<br>
>         },<br>
> for C4. You can not have all of them, as ACPI only supports three<br>
> C-states.<br>
<br>
</span>Indeed this was a *VERY GOOD* hint! I added the line with the C4 states and idle power consumption dropped to about 11.5W running my regular OS and with Wifi on. So I again disassembled the keyboard/palmrest, removed the wifi card and did exactly the same measurements as before. And here are the results:<br>
<br>
Benchmark results: almost like before (not crappy like with vendor BIOS!), a little worse because it probably takes a few ms for the CPU to wake up from C4 first.<br>
Stress test: >37.2W (as before)<br>
<br>
Idle, max brightness: 10.8W (!!)<br>
Idle, lowest brightness: 7.8W (!!)<br>
<br>
...and after running "powertop --auto-tune":<br>
Idle, max brightness: 9.9W<br>
Idle, lowest brightness: 6.9W<br>
Screen off:6.4W<br>
<br>
Sounds stupid, but I'm really impressed now! But... is there a reason C4 is not enabled by default then? I mean, if it makes trouble, you can always disable it (at least on Linux) with the command line parameters as discussed previously. Imho, it should be at least configurable using the regular config mechanism.<br>
<br>
@Zoran: I also have an X220 (2nd gen Core I5) on which I did not undertake any Coreboot experiments yet. But I suppose you are rather asking for much newer CPUs from the 6th and 7th generation?<br>
<br>
Cheers, Daniel<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="https://www.coreboot.org/mailman/listinfo/coreboot" rel="noreferrer" target="_blank">https://www.coreboot.org/mailman/listinfo/coreboot</a><br>
</div></div></blockquote></div><br></div>