From owner-freebsd-hackers@FreeBSD.ORG Tue Apr 1 07:38:40 2014 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 68ABB2FB; Tue, 1 Apr 2014 07:38:40 +0000 (UTC) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "theravensnest.org", Issuer "theravensnest.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 17A03B64; Tue, 1 Apr 2014 07:38:39 +0000 (UTC) Received: from [192.168.0.100] (cpc14-cmbg15-2-0-cust307.5-4.cable.virginm.net [82.26.1.52]) (authenticated bits=0) by theravensnest.org (8.14.7/8.14.7) with ESMTP id s317cXnf045166 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 1 Apr 2014 07:38:35 GMT (envelope-from theraven@FreeBSD.org) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) Subject: Re: Leaving the Desktop Market From: David Chisnall In-Reply-To: Date: Tue, 1 Apr 2014 08:38:28 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <3F7430D7-3C0F-43E1-8EBD-8AA4F701497C@FreeBSD.org> References: To: Jordan Hubbard X-Mailer: Apple Mail (2.1874) Cc: Eitan Adler , hackers@freebsd.org, current@freebsd.org, freebsd-advocacy@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Apr 2014 07:38:40 -0000 On 1 Apr 2014, at 08:11, Jordan Hubbard 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