PM / sleep: Asynchronous threads for resume_noirq
authorLiu, Chuansheng <chuansheng.liu@intel.com>
Tue, 18 Feb 2014 02:28:45 +0000 (10:28 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 20 Feb 2014 00:30:09 +0000 (01:30 +0100)
commit76569faa62c46382e080c3e190c66e19515aae1c
tree6ed8ae6ed50e2fdc10886f43841fe75cea245682
parent3d2699bc179a10eee7d2aa1db50f822be01636f7
PM / sleep: Asynchronous threads for resume_noirq

In analogy with commits 5af84b82701a and 97df8c12995, using
asynchronous threads can improve the overall resume_noirq time
significantly.

One typical case is:
In resume_noirq phase and for the PCI devices, the function
pci_pm_resume_noirq() will be called, and there is one d3_delay
(10ms) at least.

With the way of asynchronous threads, we just need wait d3_delay
time once in parallel for each calling, which saves much time to
resume quickly.

Signed-off-by: Chuansheng Liu <chuansheng.liu@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/main.c