Re: Leaving the Desktop Market

From: David Chisnall <theraven_at_FreeBSD.org>
Date: Tue, 1 Apr 2014 08:38:28 +0100
On 1 Apr 2014, at 08:11, Jordan Hubbard <jkh_at_mail.turbofuzz.com> wrote:

> 1. Power.  As you point out, being truly power efficient is a complete top-to-bottom engineering effort and it takes a lot more than just trying to idle the processor whenever possible to achieve that.  You need to optimize all of the hot-spot routines in the system for power efficiency (which actually involves a fair amount of micro architecture knowledge), you need a kernel scheduler that is power management aware, you need a process management system that runs as few things as possible and knows how to schedule things during package wake-up intervals, you need timers to be coalesced at the level where applications consume them, the list just goes on and on.  It’s a lot of engineering work, and to drive that work you also need a lot of telemetry data and people with big sticks running around hitting people who write power-inefficient code. FreeBSD has neither.

Just a small note here: Improving power management is something that the Core Team and the Foundation have jointly identified as an important goal, in particular for mobile / embedded scenarios.  We're currently coordinating potential sponsors for the work and soliciting proposals from people interested in doing the work.  If you know of anyone in either category then please drop either me, core, or the Foundation an email.

Some things have already seen progress, for example Davide's calloutng work includes timer coalescing, but there are still a lot of, uh, opportunities for improvement.   The Symbian EKA2 book has some very interesting detail on their power management infrastructure, which would be worth looking at for anyone interested in working on this, and I believe your former employer had some expertise in this area.

Of course, no matter how good the base system becomes at power management, we still can't prevent stuff in ports running idle spinloops.  We can, however, provide tools that encourage power-efficient design.  For example, currently hald wakes up every 30 seconds and polls the optical drive if you have one.  Why?  Because there's no devd event when a CD is inserted, so the only way for it to get these notifications is polling.  If you have a laptop with an optical drive, this is really bad for power usage.  

David
Received on Tue Apr 01 2014 - 05:38:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:48 UTC