Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Aug 2015 13:44:57 +0100
From:      Will Green <will@sundivenetworks.com>
To:        freebsd-current@freebsd.org
Subject:   CPU Perf & Power Mgt
Message-ID:  <7B1D7A3F-DA20-4195-8228-7D3F07790B5C@sundivenetworks.com>

next in thread | raw e-mail | index | archive | help
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.

=46rom the publicly available information on powerd [1], the wiki [2] =
and my attempts to optimize hardware power/performance; it seems the =
current approach is quite old and laptop-focused. Recent CPU designs can =
control the state and frequency of individual cores very quickly. In the =
case of a single heavy thread, a multicore CPU might power-gate all but =
one core so the active 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) and 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 =
important that this does happen. Without this functionality FreeBSD is =
leaving performance on the table and consuming more power than other =
operating systems. 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 amd64 too.=20

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, which 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7B1D7A3F-DA20-4195-8228-7D3F07790B5C>