From: Lan Tianyu <tianyu.lan@intel.com>
To: Borislav Petkov <bp@alien8.de>
Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com,
x86@kernel.org, toshi.kani@hp.com, imammedo@redhat.com,
jan.kiszka@siemens.com, mingo@kernel.org,
huawei.libin@huawei.com, prarit@redhat.com,
linux-kernel@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH] X86/CPU: Avoid 100ms sleep for cpu offline during S3
Date: Tue, 05 Aug 2014 17:28:52 +0800 [thread overview]
Message-ID: <53E0A3D4.7020100@intel.com> (raw)
In-Reply-To: <20140805084135.GB18234@pd.tnic>
On 2014年08月05日 16:41, Borislav Petkov wrote:
> On Mon, Aug 04, 2014 at 04:59:02PM +0800, Lan Tianyu wrote:
>> Some test result shows cpu offline consumes more than 100ms during S3.
>> After some researchs, found native_cpu_die() would fall into 100ms
>> sleep if cpu idle loop thread marked cpu state slower. What native_cpu_die()
>> does is that poll cpu state and wait for 100ms if cpu state hasn't been marked
>> to DEAD. The 100ms sleep doesn't make sense. To avoid such long sleep, this
>> patch is to add struct completion to each cpu, wait for the completion
>> in the native_cpu_die() and wakeup the completion when the cpu state is
>> marked to DEAD.
>>
>> Signed-off-by: Lan Tianyu <tianyu.lan@intel.com>
>> ---
>> arch/x86/kernel/smpboot.c | 26 ++++++++++++++------------
>> 1 file changed, 14 insertions(+), 12 deletions(-)
>
> ...
>
>> @@ -1339,18 +1342,16 @@ int native_cpu_disable(void)
>> void native_cpu_die(unsigned int cpu)
>> {
>> /* We don't do anything here: idle task is faking death itself. */
>> - unsigned int i;
>> + wait_for_completion_timeout(&per_cpu(die_complete, cpu),
>> + msecs_to_jiffies(1000));
>
> One more thing peterz suggested. Just do:
>
> wait_for_completion_timeout(&per_cpu(die_complete, cpu), HZ);
>
> because HZ is the number of jiffies in a second. Which is what you want
> here.
>
Yes, that looks better. I will update.
--
Best regards
Tianyu Lan
next prev parent reply other threads:[~2014-08-05 9:31 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-04 8:59 [PATCH] X86/CPU: Avoid 100ms sleep for cpu offline during S3 Lan Tianyu
2014-08-04 10:23 ` Borislav Petkov
[not found] ` <53E04457.2060507@intel.com>
2014-08-05 7:54 ` Borislav Petkov
2014-08-05 9:29 ` Lan Tianyu
2014-08-06 11:07 ` Borislav Petkov
2014-08-06 13:13 ` Lan, Tianyu
2014-08-06 13:57 ` Gene Heskett
2014-08-07 8:47 ` Lan Tianyu
2014-08-07 10:23 ` Gene Heskett
2014-08-06 16:06 ` Borislav Petkov
2014-08-07 8:56 ` Lan Tianyu
2014-08-05 8:41 ` Borislav Petkov
2014-08-05 9:28 ` Lan Tianyu [this message]
2014-08-12 7:31 ` [PATCH V2] " Lan Tianyu
2014-08-12 7:55 ` Borislav Petkov
2014-08-12 11:36 ` Prarit Bhargava
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53E0A3D4.7020100@intel.com \
--to=tianyu.lan@intel.com \
--cc=bp@alien8.de \
--cc=hpa@zytor.com \
--cc=huawei.libin@huawei.com \
--cc=imammedo@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=prarit@redhat.com \
--cc=tglx@linutronix.de \
--cc=toshi.kani@hp.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.