Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH v4 0/5] Enabling the asynchronous threads for other phases | Date | Fri, 21 Feb 2014 17:43:33 +0100 |
| |
On Friday, February 21, 2014 01:38:45 AM Liu, Chuansheng wrote: > Hello Rafael, > > > -----Original Message----- > > From: Liu, Chuansheng > > Sent: Tuesday, February 18, 2014 10:29 AM > > To: rjw@rjwysocki.net; gregkh@linuxfoundation.org; Brown, Len; > > pavel@ucw.cz > > Cc: linux-pm@vger.kernel.org; linux-kernel@vger.kernel.org; Li, Zhuangzhi; Liu, > > Chuansheng > > Subject: [PATCH v4 0/5] Enabling the asynchronous threads for other phases > > > > Hello, > > > > This patch series are for enabling the asynchronous threads for the phases > > resume_noirq, resume_early, suspend_noirq and suspend_late. > > > > After dig more about async threads, I found dpm_prepare/complete phases need > them also. > > dpm_prepare() > -- > call pci_pm_prepare() one by one > -- > call pm_runtime_resume() one by one > -- > call pci_set_power_state to D3HOT -- > D0 > > It will cause much time delaying due to d3_delay. > And I made one draft patch to implement the asynchronous threads for dpm_prepare(), > it is really save much time. > > If you like it, I can prepare another series patches for dpm_prepare() and dpm_complete(), > thanks.
I think a better solution here would be to move the pm_runtime_resume() out of the .prepare() callback for PCI. We may be doing that in the process of suspend optimization anyway, so I'd wait with making those phases async.
Thanks!
-- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.
| |