]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: add barrier after writing kernel PTE
authorScott Wood <scottwood@freescale.com>
Sat, 12 Oct 2013 00:22:37 +0000 (19:22 -0500)
committerScott Wood <scottwood@freescale.com>
Thu, 9 Jan 2014 23:52:19 +0000 (17:52 -0600)
commitc3e0cb2e2a4525b380863e3a58a9905e7d75d9d3
tree933b09da56b9b015bce4b9c5e9e5533cd00eb4a5
parentaa9890b14a51073dcbb256d160bc54e23aaaf748
powerpc: add barrier after writing kernel PTE

There is no barrier between something like ioremap() writing to
a PTE, and returning the value to a caller that may then store the
pointer in a place that is visible to other CPUs.  Such callers
generally don't perform barriers of their own.

Even if callers of ioremap() and similar things did use barriers,
the most logical choise would be smp_wmb(), which is not
architecturally sufficient when BookE hardware tablewalk is used.  A
full sync is specified by the architecture.

For userspace mappings, OTOH, we generally already have an lwsync due
to locking, and if we occasionally take a spurious fault due to not
having a full sync with hardware tablewalk, it will not be fatal
because we will retry rather than oops.

Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/mm/pgtable_32.c
arch/powerpc/mm/pgtable_64.c