Re: [PATCH 0/8] Suspend block api (version 6)

Previous thread: [PATCHSET sched/core] cpu_stop: implement and use cpu_stop, take#2 by Tejun Heo on Tuesday, May 4, 2010 - 6:47 am. (13 messages)

Next thread: Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api. by Alan Stern on Tuesday, May 4, 2010 - 6:59 am. (2 messages)
From: Alan Stern
Date: Tuesday, May 4, 2010 - 6:51 am

Another thing that Kevin is missing: There is more to the system than
the devices and the CPU.  For example: RAM, an embedded controller (on
modern desktop/laptop systems), a power supply, and so on.  Dynamic PM
for the CPU and the devices won't power-down these things, but system
PM will.

Alan Stern

--

From: Mark Brown
Date: Tuesday, May 4, 2010 - 7:53 am

In an embedded system I'd expect that these other system devices would
fall naturally out through the management of the CPUs and devices - for
example, the drivers for the individual devices could use the regulator
API to manage their supplies and runtime PM is being used to manage CPU
core stuff - or could at least readily be handled in a similar fashion.

This isn't to say that we're there yet from an implementation point of
view, of course.
--

From: Kevin Hilman
Date: Tuesday, May 4, 2010 - 8:13 am

I consider all of those things devices.

On non-ACPI systems where the kernel has to manage all of the above
directly, we have drivers for all of them using runtime PM as well as
the regulator framework for dynamic PM power supplies.

Kevin
--

From: Matthew Garrett
Date: Tuesday, May 4, 2010 - 8:27 am

Somewhat true - machines with C1E support will put the RAM into self 
refresh when the cpu is idle, but you're right that there are various 
components that we simply don't have control over in the desktop world 
at present.

-- 
Matthew Garrett | mjg59@srcf.ucam.org
--

From: Magnus Damm
Date: Wednesday, May 5, 2010 - 6:40 pm

As a contrast, at least on some embedded SoCs without firmware
limitations the low level sleep code for Runtime PM / CPU Idle is
shared with system wide suspend. So the RAM is put into self refresh
regardless of entering a half-deep CPU Idle state or entering
suspend-to-memory.

I've heard that newer SH-Mobile ARM hardware monitors the memory bus
activity behind the scenes and can put the system RAM into self
refresh automatically. On older parts we had to manage that from CPU
idle context.

/ magnus
--

Previous thread: [PATCHSET sched/core] cpu_stop: implement and use cpu_stop, take#2 by Tejun Heo on Tuesday, May 4, 2010 - 6:47 am. (13 messages)

Next thread: Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api. by Alan Stern on Tuesday, May 4, 2010 - 6:59 am. (2 messages)