Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Apr 2014 08:38:28 +0100
From:      David Chisnall <theraven@FreeBSD.org>
To:        Jordan Hubbard <jkh@mail.turbofuzz.com>
Cc:        hackers@freebsd.org, current@freebsd.org, freebsd-advocacy@freebsd.org
Subject:   Re: Leaving the Desktop Market
Message-ID:  <3F7430D7-3C0F-43E1-8EBD-8AA4F701497C@FreeBSD.org>
In-Reply-To: <A70900DF-4BAA-427F-8731-01211FFD1887@mail.turbofuzz.com>
References:  <CAF6rxgkeBozvfV-L0%2BrFZ6fWRn0=Gi3BNq1kPL=-HTq0TD6MkQ@mail.gmail.com> <A70900DF-4BAA-427F-8731-01211FFD1887@mail.turbofuzz.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1 Apr 2014, at 08:11, Jordan Hubbard <jkh@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=92s 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. =20

David




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F7430D7-3C0F-43E1-8EBD-8AA4F701497C>