Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Aug 2016 19:03:00 -0700
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        "Lundberg, Johannes" <johannes@brilliantservice.co.jp>
Cc:        David Demelier <demelier.david@gmail.com>,  "freebsd-x11@freebsd.org" <freebsd-x11@freebsd.org>,  "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org>
Subject:   Re: vt(4) not power friendly? (was: High CPU temperature and high fans level)
Message-ID:  <CAJ-VmomDkS11tpX-i140JEwo=ggN=idXk7UHhpmpb4M8Swet7A@mail.gmail.com>
In-Reply-To: <CAASDrVmiyQOEK9N4S8gsnmK3m==sZya=tTH59xb4A5Dp_RLc8g@mail.gmail.com>
References:  <mailman.101.1468756802.10563.freebsd-questions@freebsd.org> <20160718224548.T324@sola.nimnet.asn.au> <578F5688.8010207@gmail.com> <20160720214809.M324@sola.nimnet.asn.au> <216b40cf-d13d-bc8e-8e39-4d1de2b31fb4@gmail.com> <CAASDrVmiyQOEK9N4S8gsnmK3m==sZya=tTH59xb4A5Dp_RLc8g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 18 August 2016 at 16:18, Lundberg, Johannes
<johannes@brilliantservice.co.jp> wrote:
> Hi
>
> I have been wondering about the same. I have a watt meter connected to my
> dev board and I can clearly see power consumption going down when VT is
> inactive.
>
> We should look into this.

... interesting. Hm. Can you boot vt into 80x25 text mode and test?


-a

>
> On Thu, Aug 18, 2016 at 2:44 PM, David Demelier <demelier.david@gmail.com=
>
> wrote:
>
>> On 20/07/16 15:20, Ian Smith wrote:
>>
>>> On Wed, 20 Jul 2016 12:46:32 +0200, David Demelier wrote:
>>>   > Le 18/07/2016 15:41, Ian Smith a =C3=A9crit :
>>>   > > In freebsd-questions Digest, Vol 632, Issue 8, Message: 21
>>>   > > On Sun, 17 Jul 2016 11:59:32 +0200 David Demelier
>>>   > > <demelier.david@gmail.com> wrote:
>>>   > >   > 2016-07-17 0:25 GMT+02:00 Polytropon <freebsd@edvax.de>:
>>>   > >   > > On Sun, 17 Jul 2016 00:06:07 +0200, David Demelier wrote:
>>>   > >   > >> Hello,
>>>   > >   > >>
>>>   > >   > >> I was trying FreeBSD 10.3 on my laptop (hp probook 4510s)
>>> and was surprised
>>>   > >   > >> to see high CPU temperature and fans running high.
>>>   > >   > >>
>>>   > >   > >> No apps running, I get a temperature of 57C in
>>> dev.cpu.x.temperature and
>>>   > >   > >> fans run high (not able to get rpms).
>>>   > >   > >>
>>>   > >   > >> On a 4.6.3 Linux distro I get an average of 48C and fans a=
re
>>> quite low.
>>>   > >   > >>
>>>   > >   > >> Both tests were kept in tty. No Xorg running just a boot a=
nd
>>> user login in
>>>   > >   > >> console.
>>>   > >   > >>
>>>   > >   > >> Do you have any clue?
>>>   > >   > >
>>>   > >   > > Did you enable powerd? It can slow down the CPU when the
>>> system
>>>   > >   > > is idle, and increase the CPU speed when needed. This shoul=
d
>>> have
>>>   > >   > > an effect on CPU temperature and fan speed.
>>>   > >
>>>   > >   > Yes, I had powerd enabled, I tried -a adaptive, -a hiadaptive=
 as
>>>   > >   > suggested by Erich but it seems that only -a min has some lit=
tle
>>>   > >   > effect. I could get a temperature of 52C. I've tested back on
>>> Linux
>>>   > >   > and I got an average much lower (41C).
>>>   > >
>>>   > > We really need to see what speed the CPU is running at when idle.
>>>   > >
>>>   > > I think the fans running high - presumably from the sound and
>>> airflow? -
>>>   > > rules out the sort of sensor errors Arthur reported (ie below
>>> ambient :)
>>>   > > and I assume the box actually feels warmer .. 57C suggests a busy
>>> CPU or
>>>   > > two .. but then it is summer there; what background ambient temp.
>>> range?
>>>   >
>>>   > We have air-conditioning at work so ambient temperature is normal,
>>> somewhat
>>>   > between 24-28.
>>>
>>> Ok, just checking.  So the temperatures are indeed obviously excessive.
>>>
>>>   > >   > By the way the other sensors in hw.acpi.tz* are also much
>>> higher than
>>>   > >   > Linux (using lm_sensors). The highest value is my tz5 which i=
s
>>> at 78C
>>>
>>> Isn't that tz2?  tz5 is only 55C in your listing (and not active), but
>>> tz2 is indeed 78C and working the fan moderately hard.
>>>
>>>   > >   > almost 5 seconds after boot while the maximum tz value in Lin=
ux
>>>   > >   > sensors is 55.
>>>   > >   >
>>>   > >   > I have no idea what's wrong. :(
>>>
>>>   > >   % sysctl hw.acpi
>>>   > >   % sysctl debug.acpi
>>>   > >   % sysctl dev.est        # assuming intel? if not, maybe
>>> dev.hwpstate?
>>>   > >   % sysctl dev.cpu        # best while idle, maybe plus when busi=
er
>>>
>>>   > Thanks for your answer, here I posted the output of the sysctl
>>> variables you
>>>   > asked for:
>>>   >
>>>   > http://markand.fr/files/result.txt
>>>
>>> Thanks, that's a useful format.  Well, a couple of things ..
>>>
>>>   > I've ran them on a FreeBSD memstick, I needed to install a Linux
>>> distro until
>>>   > I can find a solution because this drains my battery a lot.
>>>
>>> But did you start powerd after the memstick boot?  From the CPU speed,
>>> assuming it was generally idle, I suspect not?
>>>
>>> The big surprise is that CPU frequency (at least when you asked) is at
>>> maximum (except for Turboboost mode) and that it's only using C1 state
>>> when halted.  C2 and C3 states provide a huge win for power consumption
>>> - and so proportionally less heat.  Alexander takes it to the limit at:
>>> https://wiki.freebsd.org/TuningPowerConsumption
>>>
>>> hw.acpi.cpu.cx_lowest: C1       # the 'master setting' for cx_lowest
>>>
>>> # =3D=3D> sysctl dev.cpu
>>> dev.cpu.1.cx_usage: 100.00% 0.00% 0.00% last 14427us
>>> dev.cpu.1.cx_lowest: C1
>>> dev.cpu.1.cx_supported: C1/1/1 C2/2/1 C3/3/162
>>> [..]
>>> dev.cpu.0.cx_usage: 100.00% 0.00% 0.00% last 13756us
>>> dev.cpu.0.cx_lowest: C1
>>> dev.cpu.0.cx_supported: C1/1/1 C2/2/1 C3/3/162
>>> dev.cpu.0.freq_levels: 2101/35000 2100/35000 1600/23888 1200/15000
>>> dev.cpu.0.freq: 2100
>>>
>>> Also noted that it's running on battery (which is good for this purpose=
)
>>> hw.acpi.acline: 0
>>> hw.acpi.battery.info_expire: 5
>>> hw.acpi.battery.units: 1
>>> hw.acpi.battery.state: 1
>>> hw.acpi.battery.time: 91        # can likely be doubled of better
>>> hw.acpi.battery.life: 79
>>>
>>>   > The average temperature was 50C, a bit less than the installed
>>> version on
>>>   > hard drive where I have seen higher values. This is interesting. I
>>> will
>>>   > double check if something else makes the CPU more busy.
>>>
>>> Well you need to duplicate basic conditions when booted from memstick;
>>> after boot, as root you should be able to:
>>>
>>>   # service powerd onestart
>>>   # sysctl hw.acpi.cpu.cx_lowest=3DCmax
>>>
>>> and then observe dev.cpu.0.freq and dev.cpu.0.cx_usage ..
>>>
>>> Though whenever you plug it in, or unplug it, you'll have to set the
>>> sysctl again, unless you update the settings in /etc/rc.conf (possible?=
)
>>>
>>> Which should a) have it drop back to 1200 MHz and b) allow it to use C2
>>> and probably C3 .. you might check dmesg for any mention of 'C2' or 'C3=
'
>>> as certain combinations of chosen timecounter can limit C3 or even C2
>>> use, and will say so (usually to do with use of the TSC as timecounter)
>>>
>>> On 9.3 one still had to explicily set these:
>>> !grep cx /etc/defaults/rc.conf
>>> performance_cx_lowest=3D"HIGH"    # Online CPU idle state
>>> economy_cx_lowest=3D"HIGH"        # Offline CPU idle state
>>> !grep cx /etc/rc.conf
>>> performance_cx_lowest=3DC3
>>> economy_cx_lowest=3DC3
>>>
>>> But on head sources from a couple of months ago:
>>> !grep cx /usr/head/src/etc/defaults/rc.conf
>>> performance_cx_lowest=3D"C2"      # Online CPU idle state
>>> economy_cx_lowest=3D"Cmax"        # Offline CPU idle state
>>>
>>> So you might want to check what is there for 10.3?  Setting both 'Cmax'
>>> (or at least to C2) should be safe, the head defaults above are likely
>>> more conservative for a few boxes that aren't happy with C3 and higher.
>>>
>>> If that works, with powerd running CPU at 1200 MHz, it should save lots
>>> of power and run plenty cooler.  Good luck!
>>>
>>> Warner Losh has suggested disabling Turbo mode on these if having heat
>>> problems, by adding (in your case) '-M 2100' to powerd_flags, but that
>>> might be something for later.  Meanwhile go for C2 and C3+ if possible.
>>>
>>> As for fans, tz2 and tz0 are the only ones with 'active' cooling, thoug=
h
>>> tz2 is the only one also with passive cooling, so is most probably the
>>> CPU/s - see acpi_thermal(4).
>>>
>>> This one doesn't turn on passive cooling (ie slowing the CPU) until onl=
y
>>> 3C below critical shutdown temperature, which seems a bit close to me.
>>>
>>> At that moment it was above 45C and below 62C, so running at level 3.
>>>
>>> hw.acpi.thermal.tz2._TSP: 300
>>> hw.acpi.thermal.tz2._TC2: 2
>>> hw.acpi.thermal.tz2._TC1: 1
>>> hw.acpi.thermal.tz2._ACx: 84.0C 74.0C 62.0C 45.0C 38.0C 30.0C -1 -1 -1 =
-1
>>> hw.acpi.thermal.tz2._CRT: 108.0C
>>> hw.acpi.thermal.tz2._HOT: -1
>>> hw.acpi.thermal.tz2._PSV: 105.0C
>>> hw.acpi.thermal.tz2.thermal_flags: 0
>>> hw.acpi.thermal.tz2.passive_cooling: 1
>>> hw.acpi.thermal.tz2.active: 3
>>> hw.acpi.thermal.tz2.temperature: 53.0C
>>>
>>> This fan is also active at level 3 (0-based, so above 72C, with 3 highe=
r
>>> speeds to go).  It can be hard to tell what TZ matches what 'device'.
>>>
>>> hw.acpi.thermal.tz0._TSP: -1
>>> hw.acpi.thermal.tz0._TC2: -1
>>> hw.acpi.thermal.tz0._TC1: -1
>>> hw.acpi.thermal.tz0._ACx: 105.0C 96.0C 87.0C 72.0C 64.0C 57.0C 30.0C -1
>>> -1 -1
>>> hw.acpi.thermal.tz0._CRT: 108.0C
>>> hw.acpi.thermal.tz0._HOT: -1
>>> hw.acpi.thermal.tz0._PSV: -1
>>> hw.acpi.thermal.tz0.thermal_flags: 0
>>> hw.acpi.thermal.tz0.passive_cooling: 0
>>> hw.acpi.thermal.tz0.active: 3
>>> hw.acpi.thermal.tz0.temperature: 78.0C
>>>
>>> That one seems pretty high.  I'd suspect the GPU(/s?) but you're not
>>> running X, so hmmm .. definitely not CPU though.
>>>
>>> cheers, Ian
>>>
>>
>> Hello all,
>>
>> Sorry for this late response, I was in vacation.
>>
>> I've spent some time into this problem again, and I think I have found t=
he
>> culprit. I first disabled completely the new console driver vt(4) to use
>> the old syscons and the CPU coretemp temperature immediately fell.
>>
>> Running with vt(4) and radeonkms loaded: average of 47=C2=B0, no X, just=
 a
>> plain tty with nothing running.
>>
>> Running with syscons: average of 38=C2=B0.
>>
>> That's why I've CC'ed to freebsd-x11@,
>>
>> Is there power issue in the new vt(4) driver? I've also tried with
>> textmode with the same results.
>>
>> Regards,
>>
>> --
>> David Demelier
>> _______________________________________________
>> freebsd-x11@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-x11
>> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org"
>>
>
> --
> =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=
=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-
> =E7=A7=98=E5=AF=86=E4=BF=9D=E6=8C=81=E3=81=AB=E3=81=A4=E3=81=84=E3=81=A6=
=EF=BC=9A=E3=81=93=E3=81=AE=E9=9B=BB=E5=AD=90=E3=83=A1=E3=83=BC=E3=83=AB=E3=
=81=AF=E3=80=81=E5=90=8D=E5=AE=9B=E4=BA=BA=E3=81=AB=E9=80=81=E4=BF=A1=E3=81=
=97=E3=81=9F=E3=82=82=E3=81=AE=E3=81=A7=E3=81=82=E3=82=8A=E3=80=81=E7=A7=98=
=E5=8C=BF=E7=89=B9=E6=A8=A9=E3=81=AE=E5=AF=BE=E8=B1=A1=E3=81=A8=E3=81=AA=E3=
=82=8B=E6=83=85=E5=A0=B1=E3=82=92=E5=90=AB=E3=82=93=E3=81=A7=E3=81=84=E3=81=
=BE=E3=81=99=E3=80=82
> =E3=82=82=E3=81=97=E3=80=81=E5=90=8D=E5=AE=9B=E4=BA=BA=E4=BB=A5=E5=A4=96=
=E3=81=AE=E6=96=B9=E3=81=8C=E5=8F=97=E4=BF=A1=E3=81=95=E3=82=8C=E3=81=9F=E5=
=A0=B4=E5=90=88=E3=80=81=E3=81=93=E3=81=AE=E3=83=A1=E3=83=BC=E3=83=AB=E3=81=
=AE=E7=A0=B4=E6=A3=84=E3=80=81=E3=81=8A=E3=82=88=E3=81=B3=E3=81=93=E3=81=AE=
=E3=83=A1=E3=83=BC=E3=83=AB=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B=E4=B8=80=E5=
=88=87=E3=81=AE=E9=96=8B=E7=A4=BA=E3=80=81
> =E8=A4=87=E5=86=99=E3=80=81=E9=85=8D=E5=B8=83=E3=80=81=E3=81=9D=E3=81=AE=
=E4=BB=96=E3=81=AE=E5=88=A9=E7=94=A8=E3=80=81=E3=81=BE=E3=81=9F=E3=81=AF=E8=
=A8=98=E8=BC=89=E5=86=85=E5=AE=B9=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8F=E3=81=
=84=E3=81=8B=E3=81=AA=E3=82=8B=E8=A1=8C=E5=8B=95=E3=82=82=E3=81=95=E3=82=8C=
=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=8A=E9=A1=98=E3=81=84=E7=94=B3=E3=
=81=97=E4=B8=8A=E3=81=92=E3=81=BE=E3=81=99=E3=80=82
> ---
> CONFIDENTIALITY NOTE: The information in this email is confidential
> and intended solely for the addressee.
> Disclosure, copying, distribution or any other action of use of this
> email by person other than intended recipient, is prohibited.
> If you are not the intended recipient and have received this email in
> error, please destroy the original message.
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.o=
rg"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomDkS11tpX-i140JEwo=ggN=idXk7UHhpmpb4M8Swet7A>