[PATCH] FRV: Use the correct preemption primitives in kmap_atomic() and co
authorDavid Howells <dhowells@redhat.com>
Mon, 16 Oct 2006 13:10:49 +0000 (14:10 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 16 Oct 2006 15:32:29 +0000 (08:32 -0700)
commit29da7eb0ec69245c6e9b4eb5bdaa04af685f5c4f
tree14fb9ac86841af2cc17b999507b6879936616b1d
parent8741ca71a3f626a56595b88200ebf952ce77ceef
[PATCH] FRV: Use the correct preemption primitives in kmap_atomic() and co

Use inc/dec_preempt_count() rather than preempt_enable/disable() and manually
add in the compiler barriers that were provided by the latter.  This makes FRV
consistent with other archs.

Furthermore, the compiler barrier effects are now there unconditionally - at
least as far as preemption is concerned - because we don't want the compiler
moving memory accesses out of the section of code in which the mapping is in
force - in effect the kmap_atomic() must imply a LOCK-class barrier and the
kunmap_atomic() must imply an UNLOCK-class barrier to the compiler.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-frv/highmem.h