ARM: 7290/1: vmlinux.lds.S: align the exception fixup table to a 4-byte boundary
authorWill Deacon <will.deacon@arm.com>
Fri, 20 Jan 2012 11:01:09 +0000 (12:01 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 23 Jan 2012 10:20:04 +0000 (10:20 +0000)
The exception fixup table is currently aligned to a 32-byte boundary.
Whilst this won't cause any problems, the exception_table_entry
structures contain only a pair of unsigned longs, so 4-byte alignment
is all that is required. If the table was walked from start to end,
cacheline alignment may bring some performance benefits, but since a
binary search is used, the access pattern is random and will not benefit
from a stricter alignment.

Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/vmlinux.lds.S

index 1077e4ff6f3cf263b96cd0fb96230319417972dd..1e19691e040650625103ddcbdee6ffceb5a77f1c 100644 (file)
@@ -219,7 +219,7 @@ SECTIONS
                /*
                 * The exception fixup table (might need resorting at runtime)
                 */
-               . = ALIGN(32);
+               . = ALIGN(4);
                __start___ex_table = .;
 #ifdef CONFIG_MMU
                *(__ex_table)