linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously
@ 2015-08-03 13:10 Fu, Zhonghui
  2015-08-17  3:38 ` Fu, Zhonghui
  0 siblings, 1 reply; 5+ messages in thread
From: Fu, Zhonghui @ 2015-08-03 13:10 UTC (permalink / raw)
  To: Ulf Hansson, Adrian Hunter, yunpeng.gao, andriy.shevchenko,
	peter.griffin
  Cc: linux-mmc, linux-kernel

Enable sdhci-acpi device to suspend/resume asynchronously.
This can improve system suspend/resume speed.

Signed-off-by: Zhonghui Fu <zhonghui.fu@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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously
  2015-08-03 13:10 [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously Fu, Zhonghui
@ 2015-08-17  3:38 ` Fu, Zhonghui
  2015-08-17  6:51   ` Adrian Hunter
  0 siblings, 1 reply; 5+ messages in thread
From: Fu, Zhonghui @ 2015-08-17  3:38 UTC (permalink / raw)
  To: Ulf Hansson, Adrian Hunter, yunpeng.gao, andriy.shevchenko,
	peter.griffin
  Cc: linux-mmc, linux-kernel


Hi,

Any comments are welcome.


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.fu@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
>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously
  2015-08-17  3:38 ` Fu, Zhonghui
@ 2015-08-17  6:51   ` Adrian Hunter
  2015-08-24 15:14     ` Fu, Zhonghui
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Hunter @ 2015-08-17  6:51 UTC (permalink / raw)
  To: Fu, Zhonghui, andriy.shevchenko
  Cc: Ulf Hansson, yunpeng.gao, peter.griffin, linux-mmc, linux-kernel

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

> 
> 
> 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.fu@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
>>
> 
> 
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously
  2015-08-17  6:51   ` Adrian Hunter
@ 2015-08-24 15:14     ` Fu, Zhonghui
  2015-09-21  6:53       ` Fu, Zhonghui
  0 siblings, 1 reply; 5+ messages in thread
From: Fu, Zhonghui @ 2015-08-24 15:14 UTC (permalink / raw)
  To: Adrian Hunter, andriy.shevchenko
  Cc: Ulf Hansson, yunpeng.gao, peter.griffin, linux-mmc, linux-kernel



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.


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.fu@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 majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously
  2015-08-24 15:14     ` Fu, Zhonghui
@ 2015-09-21  6:53       ` Fu, Zhonghui
  0 siblings, 0 replies; 5+ messages in thread
From: Fu, Zhonghui @ 2015-09-21  6:53 UTC (permalink / raw)
  To: Adrian Hunter, andriy.shevchenko
  Cc: Ulf Hansson, yunpeng.gao, peter.griffin, linux-mmc, linux-kernel



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.fu@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 majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-09-21  6:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-03 13:10 [PATCH] mmc/sdhci-acpi: enable sdhci-acpi device to suspend/resume asynchronously Fu, Zhonghui
2015-08-17  3:38 ` Fu, Zhonghui
2015-08-17  6:51   ` Adrian Hunter
2015-08-24 15:14     ` Fu, Zhonghui
2015-09-21  6:53       ` Fu, Zhonghui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).