Re: CPU Perf Power Mgt

2015-08-21 Thread David Chisnall
On 20 Aug 2015, at 17:44, Justin Hibbits jr...@alumni.cwru.edu wrote:
 
 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.

We also had a power management meeting at BSDCam this week.  Robin presented 
some slides (though the download seems to be broken for me at the moment):

https://wiki.freebsd.org/201508DevSummit?action=AttachFiledo=gettarget=power-management-for-freebsd-bsdcam-2015.pdf

This includes the design that ARM is trying to push into Linux, which looks 
like it would be adaptable to FreeBSD (and, on the plus side, our complete lack 
of existing power management in the kernel already means we don’t already have 
the legacy stuff that they are fighting in Linux).  The goal is to have the 
scheduler drive all of the (CPU) power management.  Any volunteers to work on 
this are welcome - ARM people are happy to provide advice.

David

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

CPU Perf Power Mgt

2015-08-20 Thread Will Green
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

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

Re: CPU Perf Power Mgt

2015-08-20 Thread Adrian Chadd
[snip]

and if you're interested in doing some stuff with the scheduler and
interrupt handling then please poke jhb/i.


-adrian
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: CPU Perf Power Mgt

2015-08-20 Thread Justin Hibbits
On Thu, Aug 20, 2015 at 5:44 AM, Will Green w...@sundivenetworks.com wrote:
 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

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
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org