lkml.org 
[lkml]   [2010]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: suspend blockers & Android integration
On Sun, 6 Jun 2010, Felipe Contreras wrote:

> 2010/6/6 Arjan van de Ven <arjan@infradead.org>:
>> On Sat, 5 Jun 2010 14:26:14 -0700
>> Arve Hj?nnev?g <arve@android.com> wrote:
>>>> the kernel has a set of infrastructure already to help here (range
>>>> timers, with which you can wakeup-limit untrusted userspace crap),
>>>> timer slack for legacy background timers, etc etc.
>>>
>>> Range timers allows the kernel to align different timers so they don't
>>> each bring the cpu out of idle individually. They do not eliminate
>>> timers or make individual timers fire less often.
>>
>> you're incorrect.
>> With range timers you can control the rate at which timers fire just
>> fine.
>
> I was wondering... Currently GLib user-space aligns itself to fire
> burst of work at second boundaries without the need for IPC. But if
> you want to align beyond one second you need multi-process alignment.
> Say, one application says: wake me up between 30s and 1m. And the
> other one says: wake me up between 10m and 20m. They could very well
> align at some point if there was a central process keeping track of
> all the timers.
>
> Does the kernel provide something to solve that problem already?

yes,the kernel will let you say 'wake me in 10m, with a possible delay of
up to 10 min' and get woken up between 10 and 20 min

this is what was mentioned earlier in the thread where you could take an
app that tries to do something every .1 second and set the kernel to allow
the tick to be delayed for up to 3.9 seconds, resulting in a wakeup every
4 seconds if the system is idle. This has the additional advantage that if
the system is not idle and other things are causing ticks to take place
anyway, this app would get more ticks up to the 10/second it's asking for)

David Lang


\
 
 \ /
  Last update: 2010-06-06 13:29    [from the cache]
©2003-2011 Jasper Spaans