]> git.baikalelectronics.ru Git - kernel.git/commit
[ARM] mm 3: separate out supersection mappings, avoid for <4GB
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 21 Apr 2007 09:16:48 +0000 (10:16 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 21 Apr 2007 19:35:52 +0000 (20:35 +0100)
commitc754ab205eee3408b86f3f0dbc0ab67240563877
treea2c36198e3b4d78ccc8e373c3748112bc0645b0e
parentbe3101cda84fbe4bee3c8e7eadf90b665e0de4ce
[ARM] mm 3: separate out supersection mappings, avoid for <4GB

Catalin Marinas at ARM Ltd says:
> The CPU architects in ARM intended supersections only as a way to map
> addresses >= 4GB. Supersections are not mandated by the architecture
> and there is no easy way to detect their hardware support at run-time
> (other than checking for a specific core). From the analysis done in
> ARM, there wasn't a clear performance gain by using supersections
> rather than sections (no significant improvement in the TLB misses).

Therefore, we should avoid using supersections unless there's a real
need (iow, we're mapping addresses >= 4GB).

This means that we can simplify create_mapping() a bit since we will
only use supersection mappings for addresses >= 4GB, which means that
the physical, virtual and length must be multiples of the supersection
mapping size.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/ioremap.c
arch/arm/mm/mmu.c