[PATCH 0/8] device async action mechanism

From: Zhang Rui
Date: Wed Jul 15 2009 - 03:37:51 EST


Hi,

this is the patch set I made to speed up the device
suspend/resume/shutdown process.

A new mechanism called Device Async Actions is introduced in this patch set.
The basic idea is that,
1. device declares to support certain kinds of device async action,
like suspend, resume, shutdown, etc.
2. a async domain is create for this device
3. the child device inherits the async domain
4. devices in the same domain suspend/resume/shutdown asynchronously with
the other devices.

Currently, in order to make sure that it won't bring any side effects,
I only convert the ACPI battery and i8042 to use this framework, which reduces
0.5s+ S3 time(suspend time plus resume time)ï, from 7.0s to less than 6.5s.
and about 0.5s shutdown time in my test.

Any comments are welcome. :)

thanks,
rui


drivers/acpi/battery.c | 13 +++
drivers/base/Makefile | 3 +-
drivers/base/async_dev.c | 210 +++++++++++++++++++++++++++++++++++++++++++
drivers/base/core.c | 16 +++-
drivers/base/power/main.c | 10 ++-
drivers/input/serio/i8042.c | 10 ++-
include/linux/async.h | 3 +
include/linux/async_dev.h | 45 +++++++++
include/linux/device.h | 2 +
9 files changed, 306 insertions(+), 6 deletions(-)



--
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/