lkml.org 
[lkml]   [2010]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [linux-pm] [PATCH 0/8] Suspend block api (version 6)
Date
On Friday 14 May 2010, Tony Lindgren wrote:
> * Alan Stern <stern@rowland.harvard.edu> [100513 14:56]:
> > On Thu, 13 May 2010, Tony Lindgren wrote:
> >
> > > > > And that's why
> > > > > it should be handled by runtime power management instead.
> > > >
> > > > Runtime PM is not capable of freezing userspace and shutting down CPUs.
> > > > More or less by definition -- if it could then it wouldn't be "runtime"
> > > > any more, since the processor wouldn't be running.
> > >
> > > Not true. We are already powering off CPUs and rebooting them for
> > > at least omaps in every idle loop using cpuidle. The memory stays on.
> >
> > Okay, that's a valid point. But is that approach usable in general
> > (i.e., on non-OMAP systems)?
>
> Yes if your system wakes to interrupts at least. If your system does
> not wake to timer events, then you'll get missed timers. So it should
> work on PC too with CONFIG_NO_HZ and if RTC was used for the timer
> wake event.
>
> > How do you handle situations where the CPU is currently idle but an
> > event (such as I/O completion) is expected to occur in the near future?
> > You don't want to power-off and reboot then, do you?
>
> The idle code looks at next_timer_interrupt() value, then if the
> next timer event if far enough ahead, the system powers down and
> wakes to the timer interrupt. It also wakes to device interrupts.

For the record, waking to interrupts doesn't work on quite some systems
(like ACPI-based PCs for one example).

Rafael


\
 
 \ /
  Last update: 2010-05-14 00:29    [W:0.196 / U:10.412 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site