powerpc/32: Always order writes to halves of 64-bit PTEs
authorPaul Mackerras <paulus@samba.org>
Mon, 17 Aug 2009 04:36:32 +0000 (14:36 +1000)
committerPaul Mackerras <paulus@samba.org>
Tue, 18 Aug 2009 04:48:39 +0000 (14:48 +1000)
commit1660e9d3d04b6c636b7171bf6c08ac7b82a7de79
tree9a402e3cbe5613ecb6d8f1ee762dd760ae57a38a
parent64f1607ffbbc772685733ea63e6f7f4183df1b16
powerpc/32: Always order writes to halves of 64-bit PTEs

On 32-bit systems with 64-bit PTEs, the PTEs have to be written in two
32-bit halves.  On SMP we write the higher-order half and then the
lower-order half, with a write barrier between the two halves, but on
UP there was no particular ordering of the writes to the two halves.

This extends the ordering that we already do on SMP to the UP case as
well.  The reason is that with the perf_counter subsystem potentially
accessing user memory at interrupt time to get stack traces, we have
to be careful not to create an incorrect but apparently valid PTE even
on UP.

Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/include/asm/pgtable.h