<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Technical Blog of Richard Hughes &#187; DeviceKit-power</title>
	<atom:link href="http://blogs.gnome.org/hughsie/tag/devicekit-power/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/hughsie</link>
	<description>Blog about geeky stuff</description>
	<lastBuildDate>Fri, 20 Nov 2009 10:01:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DeviceKit-power latency control</title>
		<link>http://blogs.gnome.org/hughsie/2008/11/06/devicekit-power-latency-control/</link>
		<comments>http://blogs.gnome.org/hughsie/2008/11/06/devicekit-power-latency-control/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 10:14:43 +0000</pubDate>
		<dc:creator>hughsie</dc:creator>
				<category><![CDATA[DeviceKit]]></category>
		<category><![CDATA[DeviceKit-power]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/hughsie/?p=268</guid>
		<description><![CDATA[We all know controlling latency is the best way to control power consumption and still have a usable system. Putting the processor into deeper sleep states saves power, but it takes longer to come back to running. On pretty much all devices it&#8217;s all a trade off between time and power.

org.freedesktop.DeviceKit.Power.Latency is a DBus interface [...]]]></description>
			<content:encoded><![CDATA[<p>We all know controlling latency is the best way to control power consumption and still have a usable system. Putting the processor into deeper sleep states saves power, but it takes longer to come back to running. On pretty much all devices it&#8217;s all a trade off between time and power.</p>
<p style="text-align: center;"><img class="aligncenter" title="DeviceKit-power" src="http://people.freedesktop.org/~hughsient/DeviceKit-power/gtk-doc/appointment-new.png" alt="" width="128" height="128" /></p>
<p>org.freedesktop.DeviceKit.Power.Latency is a DBus interface implemented by DeviceKit-power. It allows applications to request target latencies, for example a couple of seconds CPU-DMA latency for an IM application, or a few hundred microseconds of network latency for a multiplayer game. The lowest value of each latency type is used for the userspace-&gt;kernel interface, and then what do do is left for the kernel drivers themselves.</p>
<p><strong>Use cases:</strong></p>
<ul>
<li>I want my IM application to request 0.5s latency for messages</li>
<li>I&#8217;m running an OpenGL simulation and want maximum performance, even on battery</li>
<li>I&#8217;m running an SQL server for a credit card company, and want the server to request low latency CPU and network as any delay costs money</li>
<li>I&#8217;m an admin, and want to change the power consumption vs. latency from cron scripts so it uses high latency during the night for maximum power saving, and low latency during business hours.</li>
<li>I want high throughput when copying files, but want low throughput for downloading updates in the background.</li>
<li>I want my power manager to set all latencies to lowest when on AC power</li>
<li>I don&#8217;t want my users messing with latency settings</li>
<li>I&#8217;m and admin and I want to be able to override all latency settings on my machines</li>
</ul>
<p>Now, I want to build a system-activated service to manage this, so people that don&#8217;t care don&#8217;t have an extra process running. We can use PolicyKit to control all the authentication, and build up a service for applications and admins to use. This will be suitable for system services and desktop applications.</p>
<p>Why don&#8217;t applications use the PMQoS interface directly? Well, by providing a framework we can override requests by admin policy, and also control requests. You also can&#8217;t set latencies unless you&#8217;re the root user, which is not suitable for the desktop use case.</p>
<p>I&#8217;ve put an interface file up <a href="http://people.freedesktop.org/~hughsient/DeviceKit-power/gtk-doc/Latency.html">here</a>.</p>
<p>Comments? Suggestions? Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/hughsie/2008/11/06/devicekit-power-latency-control/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
