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

From: Kevin Hilman
Date: Tue May 04 2010 - 11:14:05 EST


Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes:

> On Tue, 4 May 2010, Matthew Garrett wrote:
>
>> On Mon, May 03, 2010 at 04:37:22PM -0700, Kevin Hilman wrote:
>>
>> > Please forgive the ignorance of ACPI (in embedded, we thankfully live
>> > in magical world without ACPI) but doesn't that already happen with
>> > CPUidle and C-states? I think of CPUidle as basically runtime PM for
>> > the CPU. IOW, runtime PM manages the devices, CPUidle manages the CPU
>> > (via C-states), resulting in dynaimc PM for the entire system. What
>> > am I missing?
>>
>> ACPI doesn't provide any functionality for cutting power to most devices
>> other than shifting into full system suspend. The number of wakeup
>> events available to us on a given machine is usually small and the
>> wakeup latency large, so it's not terribly practical to do this
>> transparently on most hardware.
>
> 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.

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/