On 2015/8/24 23:14, Fu, Zhonghui wrote: > > On 2015/8/17 14:51, Adrian Hunter wrote: >> On 17/08/15 06:38, Fu, Zhonghui wrote: >>> Hi, >>> >>> Any comments are welcome. >> Same comments as here: >> >> http://marc.info/?l=linux-kernel&m=143979428424353&w=2 > Now, PM core support asynchronous device suspend/resume mode. If one device > has been set to support asynchronous PM mode, it's suspend/resume operation > can be performed in a separate kernel thread and take advantage of multicore > feature to improve overall system suspend/resume speed. The worst case is > that all device suspend/resume threads will be scheduled to the same CPU, it > hardly occur. > > PM core ensure all the suspend/resume dependency related to one device. > Actually, async suspend/resume mode is one feature of PM core, every device > subsystem may use it or not use it. Once one device subsystem choose to use > this feature, its safety is up to PM core as long as device subsystem has > initialized fully this device.
The original suspend time is 1645ms and resume time is 940ms on ASUS T100TA machine. After enabling "wiphy device", "SDIO device", "mmc host" and "sdhci-acpi device" to suspend/resume asynchronously, the suspend time is 1096ms and resume time is 908ms. The test environment is listed as follows: OS: Ubuntu 14.04 Kernel: mainline v4.1 Machine: ASUS T100TA(Baytrail-T platform) Tool: analyze_suspend “analyze_suspend.py –f –m freeze” to suspend system Press power button to resume system I have resent this patch with updated commit message - "[PATCH v2] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously". Thanks, Zhonghui > > > Thanks, > Zhonghui > > >>> Thanks, >>> Zhonghui >>> >>> On 2015/8/3 21:10, Fu, Zhonghui wrote: >>>> Enable sdhci-acpi device to suspend/resume asynchronously. >>>> This can improve system suspend/resume speed. >>>> >>>> Signed-off-by: Zhonghui Fu <zhonghui...@linux.intel.com> >>>> --- >>>> drivers/mmc/host/sdhci-acpi.c | 2 ++ >>>> 1 files changed, 2 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c >>>> index 22d929f..67e6263 100644 >>>> --- a/drivers/mmc/host/sdhci-acpi.c >>>> +++ b/drivers/mmc/host/sdhci-acpi.c >>>> @@ -379,6 +379,8 @@ static int sdhci_acpi_probe(struct platform_device >>>> *pdev) >>>> pm_runtime_enable(dev); >>>> } >>>> >>>> + device_enable_async_suspend(dev); >>>> + >>>> return 0; >>>> >>>> err_free: >>>> -- 1.7.1 >>>> >>> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majord...@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/