aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/mm/hugepage-hash64.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/mm/hugepage-hash64.c b/arch/powerpc/mm/hugepage-hash64.c
index 826893fcb3a7..11f9a37ca2c6 100644
--- a/arch/powerpc/mm/hugepage-hash64.c
+++ b/arch/powerpc/mm/hugepage-hash64.c
@@ -172,8 +172,11 @@ repeat:
172 mark_hpte_slot_valid(hpte_slot_array, index, slot); 172 mark_hpte_slot_valid(hpte_slot_array, index, slot);
173 } 173 }
174 /* 174 /*
175 * No need to use ldarx/stdcx here 175 * The hpte valid is stored in the pgtable whose address is in the
176 * second half of the PMD. Order this against clearing of the busy bit in
177 * huge pmd.
176 */ 178 */
179 smp_wmb();
177 *pmdp = __pmd(new_pmd & ~_PAGE_BUSY); 180 *pmdp = __pmd(new_pmd & ~_PAGE_BUSY);
178 return 0; 181 return 0;
179} 182}