latency-policy

Latency is the time delay between the moment something is initiated, and the moment one of its effects begins or becomes detectable.

Why do you care? Well, some power management modes save a ton of power, but also increase the time it takes to respond to these interrupts.
Most users don’t care as these delays are typically in the μs or low ms range, but you might if you’re on a server processing financial data or mixing desk with 20 real time music streams.

A new project is born. latency-policy is a set of scripts that allow an admin to define a rough latency that is acceptable. Why latency? Well most of the power saving stuff we are working on saves a bunch of power doing things like turning off hardware or powering down data links. These all have different, non-trivial reinitialisation times, which is why we probably need some sort of simple userspace tool to set these at startup according to some simple metric. We really don’t need to (or want to) export all these settings to the UI as most of them are pretty meaningless to 99.99% of users. At the moment only things like ALPM, ASPM and ondemand are supported by latency policy, but it’s designed to be easily pluggable as other schemes become possible to be used in Linux. There’s a 0.1 release (that may or may not work on your system) here, a noarch rpm for fedora here and a git tree available on my people page (git clone git://people.freedesktop.org/~hughsient/latency-policy).

Patches welcome. There’s no mailing list as this is a super trivial project, but I really would like to see some buy in from distros for this sort of system policy stuff. Thanks.