All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@linux.intel.com>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>,
	linux-kernel@vger.kernel.org, len.brown@intel.com,
	Arjan van de Ven <arjan@infradead.org>
Subject: Re: [RFC] maximum latency tracking infrastructure
Date: Fri, 25 Aug 2006 09:58:05 +0200	[thread overview]
Message-ID: <44EEAD8D.6010801@linux.intel.com> (raw)
In-Reply-To: <44EE829C.10606@yahoo.com.au>

Nick Piggin wrote:
> Arjan van de Ven wrote:
>> Jesse Barnes wrote:
>>
>>> On Thursday, August 24, 2006 10:41 am, Arjan van de Ven wrote:
>>>
>>>> The reason for adding this infrastructure is that power management in
>>>> the idle loop needs to make a tradeoff between latency and power
>>>> savings (deeper power save modes have a longer latency to running code
>>>> again).
>>>
>>>
>>> What if a processor was already in a sleep state when a call to 
>>> set_acceptable_latency() latency occurs? 
>>
>>
>> there's nothing sane that can be done in that case; any wake up 
>> already will cause the unwanted latency!
>> A premature wakeup is only making it happen *now*, but now is as 
>> inconvenient a time as any...
>> (in fact it may be a worst case time scenario, say, an audio 
>> interrupt...)
> 
> Surely you would call set_acceptable_latency() *before* running such
> operation that requires the given latency? And that set_acceptable_latency
> would block the caller until all CPUs are set to wake within this latency.
> 
> That would be the API semantics I would expect, anyway.

but that means it blocks, and thus can't be used in irq context

(the usage model I imagine happens most is a set_acceptable_latency() which can block during device init,
with either no or a very course limit, and a modify_acceptable_latency(), which cannot block, from irq context or
device open)

  reply	other threads:[~2006-08-25  7:58 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-24 17:41 [RFC] maximum latency tracking infrastructure Arjan van de Ven
2006-08-24 19:18 ` Len Brown
2006-08-24 21:08 ` Jesse Barnes
2006-08-24 21:20   ` Arjan van de Ven
2006-08-24 21:29     ` Jesse Barnes
2006-08-24 21:50       ` Andi Kleen
2006-08-25  4:54     ` Nick Piggin
2006-08-25  7:58       ` Arjan van de Ven [this message]
2006-08-25  8:26         ` Nick Piggin
2006-08-25  8:30           ` Arjan van de Ven
2006-08-24 21:52 ` Daniel Walker
2006-08-24 21:57   ` Arjan van de Ven
2006-08-24 22:16     ` Daniel Walker
2006-08-24 22:24 ` Matthew Garrett
2006-08-25  8:19   ` Arjan van de Ven
2006-08-24 22:52 ` Matt Mackall
2006-08-25  7:56   ` Arjan van de Ven
2006-08-25 14:54     ` Matt Mackall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44EEAD8D.6010801@linux.intel.com \
    --to=arjan@linux.intel.com \
    --cc=arjan@infradead.org \
    --cc=jbarnes@virtuousgeek.org \
    --cc=len.brown@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nickpiggin@yahoo.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.