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-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html