public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH]x86-x86_64 flush cache for CPU hotplug
@ 2005-06-10  3:30 Shaohua Li
  2005-06-10 16:30 ` Ashok Raj
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Shaohua Li @ 2005-06-10  3:30 UTC (permalink / raw)
  To: lkml; +Cc: akpm, Ashok Raj, Zwane Mwaikambo, ak

Hi,
We should flush cache at CPU hotplug. An error has been observed data is
corrupted after CPU hotplug in CPUs with bigger cache.
I guess IA64 requires similar change, Ashok?

Thanks,
Shaohua

Signed-off-by: Shaohua.li<shaohua.li@intel.com>
---

 linux-2.6.12-rc6-mm1-root/arch/i386/kernel/process.c   |    1 +
 linux-2.6.12-rc6-mm1-root/arch/x86_64/kernel/process.c |    1 +
 2 files changed, 2 insertions(+)

diff -puN arch/i386/kernel/process.c~flush_cache_cpuhotplug arch/i386/kernel/process.c
--- linux-2.6.12-rc6-mm1/arch/i386/kernel/process.c~flush_cache_cpuhotplug	2005-06-10 10:56:05.082247160 +0800
+++ linux-2.6.12-rc6-mm1-root/arch/i386/kernel/process.c	2005-06-10 11:05:10.597316264 +0800
@@ -155,6 +155,7 @@ static inline void play_dead(void)
 {
 	/* This must be done before dead CPU ack */
 	cpu_exit_clear();
+	wbinvd();
 	mb();
 	/* Ack it */
 	__get_cpu_var(cpu_state) = CPU_DEAD;
diff -puN arch/x86_64/kernel/process.c~flush_cache_cpuhotplug arch/x86_64/kernel/process.c
--- linux-2.6.12-rc6-mm1/arch/x86_64/kernel/process.c~flush_cache_cpuhotplug	2005-06-10 10:56:18.270242280 +0800
+++ linux-2.6.12-rc6-mm1-root/arch/x86_64/kernel/process.c	2005-06-10 11:05:23.206399392 +0800
@@ -165,6 +165,7 @@ DECLARE_PER_CPU(int, cpu_state);
 static inline void play_dead(void)
 {
 	idle_task_exit();
+	wbinvd();
 	mb();
 	/* Ack it */
 	__get_cpu_var(cpu_state) = CPU_DEAD;
_



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

end of thread, other threads:[~2005-06-13  1:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-10  3:30 [PATCH]x86-x86_64 flush cache for CPU hotplug Shaohua Li
2005-06-10 16:30 ` Ashok Raj
2005-06-10 16:34 ` Ashok Raj
2005-06-10 17:21 ` Andi Kleen
2005-06-13  1:13   ` Shaohua Li
2005-06-10 19:11 ` Zwane Mwaikambo
2005-06-13  1:18   ` Shaohua Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox