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>

index | next in thread | raw e-mail

Hello,

I’ve 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 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’t 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’s 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’t manage to get any details and whether it was relevant to amd64 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”, which leaves responsibility for p-state management on the CPU.

[1] https://www.freebsd.org/cgi/man.cgi?query=powerd
[2] https://wiki.freebsd.org/TuningPowerConsumption



help

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