| To: | linux-mips@linux-mips.org |
|---|---|
| Subject: | [PATCH 11/15] Add missing memory barriers for correct operation of amon_cpu_start |
| From: | Raghu Gandham <raghu@mips.com> |
| Date: | Wed, 01 Jul 2009 19:42:29 -0700 |
| Cc: | chris@mips.com |
| In-reply-to: | <20090702023938.23268.65453.stgit@linux-raghu> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <20090702023938.23268.65453.stgit@linux-raghu> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | StGIT/0.14.3 |
From: Chris Dearman <chris@mips.com>
Signed-off-by: Chris Dearman (chris@mips.com)
---
arch/mips/mti-malta/malta-amon.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/mips/mti-malta/malta-amon.c b/arch/mips/mti-malta/malta-amon.c
index df9e526..469d9b0 100644
--- a/arch/mips/mti-malta/malta-amon.c
+++ b/arch/mips/mti-malta/malta-amon.c
@@ -70,11 +70,12 @@ void amon_cpu_start(int cpu,
launch->sp = sp;
launch->a0 = a0;
- /* Make sure target sees parameters before the go bit */
- smp_mb();
-
+ smp_wmb(); /* Target must see parameters before go */
launch->flags |= LAUNCH_FGO;
+ smp_wmb(); /* Target must see go before we poll */
+
while ((launch->flags & LAUNCH_FGONE) == 0)
;
+ smp_rmb(); /* Target will be updating flags soon */
pr_debug("launch: cpu%d gone!\n", cpu);
}
|
| Previous by Date: | [PATCH 10/15] Port of GIC related changes from MTI branch., Raghu Gandham |
|---|---|
| Next by Date: | [PATCH 12/15] Added coherentio command line option for DMA_NONCOHERENT kernel, Raghu Gandham |
| Previous by Thread: | [PATCH 10/15] Port of GIC related changes from MTI branch., Raghu Gandham |
| Next by Thread: | [PATCH 12/15] Added coherentio command line option for DMA_NONCOHERENT kernel, Raghu Gandham |
| Indexes: | [Date] [Thread] [Top] [All Lists] |