[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53D068BD.6090701@intel.com>
Date: Thu, 24 Jul 2014 10:00:29 +0800
From: Lan Tianyu <tianyu.lan@...el.com>
To: Pavel Machek <pavel@....cz>
CC: rjw@...ysocki.net, len.brown@...el.com, peterz@...radead.org,
toshi.kani@...com, mingo@...nel.org, akpm@...ux-foundation.org,
todd.e.brandt@...ux.intel.com, fabf@...net.be,
srivatsa.bhat@...ux.vnet.ibm.com, ego@...ux.vnet.ibm.com,
rafael.j.wysocki@...el.com, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: Re: [RFC PATCH] PM/CPU: Parallel enabling nonboot cpus with resume
devices
On 2014年07月23日 18:53, Pavel Machek wrote:
> Hi!
>
>> In the current world, all nonboot cpus are enabled serially during system
>> resume. System resume sequence is that boot cpu enables nonboot cpu one by
>> one and then resume devices. Before resuming devices, there are few tasks
>> assigned to nonboot cpus after they are brought up. This waste cpu usage.
>>
>> To accelerate S3, this patches adds a new kernel configure
>> PM_PARALLEL_CPU_UP_FOR_SUSPEND to allow boot cpu to go forward to resume
>> devices after bringing up one nonboot cpu. The nonboot cpu will be in charge
>> of bringing up other cpus. This makes enabling cpu2~x parallel with resuming
>> devices. From the test result on 4 logical core laptop, the time of resume
>> device almost wasn't affected by enabling nonboot cpus lately while the start
>> point is almost 30ms earlier than before.
>
> Does this mean that userspace can now run seeing the "offlined" cpus
> still in offline state?
No, the PM event handler of cpu hotplug will reenable cpu hotplug via
cpu_hotplug_enable() at the end of system resume. The function will wait
for currently running cpu hotplug operations to complete.
>
> Pavel
>
--
Best regards
Tianyu Lan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists