Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Aug 2015 09:44:23 -0700
From:      Justin Hibbits <jrh29@alumni.cwru.edu>
To:        Will Green <will@sundivenetworks.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: CPU Perf & Power Mgt
Message-ID:  <CAHSQbTDoTRU27fU_ZGf3cHzdkqP85FH3P6fLwcQzAY_rEVcEyQ@mail.gmail.com>
In-Reply-To: <7B1D7A3F-DA20-4195-8228-7D3F07790B5C@sundivenetworks.com>
References:  <7B1D7A3F-DA20-4195-8228-7D3F07790B5C@sundivenetworks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Aug 20, 2015 at 5:44 AM, Will Green <will@sundivenetworks.com> wrot=
e:
> Hello,
>
> I=E2=80=99ve been thinking about CPU performance and power management on =
FreeBSD recently. As a user it seems like there has been little activity in=
 this area and I wanted to try and understand what the situation was.
>
> From the publicly available information on powerd [1], the wiki [2] and m=
y attempts to optimize hardware power/performance; it seems the current app=
roach is quite old and laptop-focused. Recent CPU designs can control the s=
tate and frequency of individual cores very quickly. In the case of a singl=
e heavy thread, a multicore CPU might power-gate all but one core so the ac=
tive core can be pushed to a higher frequency. This doesn=E2=80=99t seem to=
 be possible on FreeBSD at the moment: powerd is userland (~250 ms poll) an=
d can only control the frequency of all cores together.
>
> I understand this opens a can of worms as the CPU core states, frequency =
and scheduler would all need to co-operate. However, I think it=E2=80=99s i=
mportant that this does happen. Without this functionality FreeBSD is leavi=
ng performance on the table and consuming more power than other operating s=
ystems. At BSDCan I heard that there was work going on for arm systems, but=
 didn=E2=80=99t manage to get any details and whether it was relevant to am=
d64 too.
>
> TIA,
> Will
>
> PS. I was interested to see Intel announce at IDF that they'll be working=
 with open source projects to implement "Speed Shift Technology=E2=80=9D, w=
hich leaves responsibility for p-state management on the CPU.
>
> [1] https://www.freebsd.org/cgi/man.cgi?query=3Dpowerd
> [2] https://wiki.freebsd.org/TuningPowerConsumption

Hi Will,

There was a working group at BSDCan this year on power management, and
what we need to / can do to bring it up to par with the modern world.
Unfortunately, I haven't had any time lately to work on it, but you
can read the notes at
https://wiki.freebsd.org/201506DevSummit/ClockDomains

In short, the goal is to add infrastructure to the kernel to support
overall power management of the system, scaling beyond cpufreq/powerd.
Looking for volunteers who could do some of this, due to my lack of
time to work on it.

- Justin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTDoTRU27fU_ZGf3cHzdkqP85FH3P6fLwcQzAY_rEVcEyQ>