ARM: fix cache-feroceon-l2 after stack based kmap_atomic()
authorNicolas Pitre <nicolas.pitre@linaro.org>
Thu, 16 Dec 2010 19:56:34 +0000 (14:56 -0500)
committerNicolas Pitre <nico@fluxnic.net>
Sun, 19 Dec 2010 17:57:16 +0000 (12:57 -0500)
commit6d3e6d3640052cac958d61c44597cc216f6ee09f
treeba246fb50f8d637a0c6074211ddc2e74c4eb1ebe
parent25cbe45440ea89a3b0f6f7ed326d3d476d53068b
ARM: fix cache-feroceon-l2 after stack based kmap_atomic()

Since commit 3e4d3af501 "mm: stack based kmap_atomic()", it is actively
wrong to rely on fixed kmap type indices (namely KM_L2_CACHE) as
kmap_atomic() totally ignores them and a concurrent instance of it may
happily reuse any slot for any purpose.  Because kmap_atomic() is now
able to deal with reentrancy, we can get rid of the ad hoc mapping here.

While the code is made much simpler, there is a needless cache flush
introduced by the usage of __kunmap_atomic().  It is not clear if the
performance difference to remove that is worth the cost in code
maintenance (I don't think there are that many highmem users on that
platform anyway) but that should be reconsidered when/if someone cares
enough to do some measurements.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
arch/arm/mm/cache-feroceon-l2.c