* Why schedule in thaw_processes
@ 2007-06-28 13:53 Uli Luckas
2007-06-29 13:00 ` Rafael J. Wysocki
0 siblings, 1 reply; 2+ messages in thread
From: Uli Luckas @ 2007-06-28 13:53 UTC (permalink / raw)
To: linux-pm
Dear PM Team,
i am working my way through the Linux power managemen subsystem, trying to
understand, benchmark and improve our ARM based device's suspend/resume
cycles.
I measure the time from a wakeup event until suspend_finish() returns.
I was very confused, why this interval varies between 150ms and 300ms. Walking
the code I found the difference between 150ms wakeups and 300ms wakeups to
come from a call to schedule() in thaw_processes().
I do realise, that these extra 150ms are not wasted, as they are spent in
other threads, doing what these threads need to do any way. Still an unneeded
schedule() is overhead in itself and probably would not have been introduced
without reason.
So, can anyone explain, why this schedule() is of any benefit?
regards,
Uli
--
------- ROAD ...the handyPC Company - - - ) ) )
Uli Luckas
Software Development
ROAD GmbH
Bennigsenstr. 14 | 12159 Berlin | Germany
fon: +49 (30) 230069 - 64 | fax: +49 (30) 230069 - 69
url: www.road.de
Amtsgericht Charlottenburg: HRB 96688 B
Managing directors: Hans-Peter Constien, Hubertus von Streit
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Why schedule in thaw_processes
2007-06-28 13:53 Why schedule in thaw_processes Uli Luckas
@ 2007-06-29 13:00 ` Rafael J. Wysocki
0 siblings, 0 replies; 2+ messages in thread
From: Rafael J. Wysocki @ 2007-06-29 13:00 UTC (permalink / raw)
To: linux-pm
Hi Uli,
Sorry for the delay, I've been a bit busy recently.
On Thursday, 28 June 2007 15:53, Uli Luckas wrote:
> Dear PM Team,
> i am working my way through the Linux power managemen subsystem, trying to
> understand, benchmark and improve our ARM based device's suspend/resume
> cycles.
> I measure the time from a wakeup event until suspend_finish() returns.
> I was very confused, why this interval varies between 150ms and 300ms. Walking
> the code I found the difference between 150ms wakeups and 300ms wakeups to
> come from a call to schedule() in thaw_processes().
> I do realise, that these extra 150ms are not wasted, as they are spent in
> other threads, doing what these threads need to do any way. Still an unneeded
> schedule() is overhead in itself and probably would not have been introduced
> without reason.
>
> So, can anyone explain, why this schedule() is of any benefit?
The reason, AFAICS, is that if there are threads of higher priority than us, in
particular with real time priority, we want them to be able to run as soon as
the're thawed.
Still, I don't think that's really essential, so we can remove this schedule().
Greetings,
Rafael
--
"Premature optimization is the root of all evil." - Donald Knuth
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-06-29 13:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-28 13:53 Why schedule in thaw_processes Uli Luckas
2007-06-29 13:00 ` Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox