diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-08-22 06:03:25 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-22 06:03:25 -0400 |
commit | 4f896ffca2b72f4b719746e7fbb0b623252e6ac9 (patch) | |
tree | f77ef49e1111c1efd4eec1ae305c8bbf746f1cdf /arch/sh/kernel/dwarf.c | |
parent | fa9d3b4da55fc8949efc2b4220d93f188fbcebd6 (diff) |
sh: unwinder: cacheline align slab cache objects.
The CIE and FDE structs are big enough and accessed regularly enough in
certain configurations to make cacheline alignment useful.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/dwarf.c')
-rw-r--r-- | arch/sh/kernel/dwarf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c index 577302f31e6a..700f7e0fd658 100644 --- a/arch/sh/kernel/dwarf.c +++ b/arch/sh/kernel/dwarf.c | |||
@@ -899,9 +899,12 @@ static int __init dwarf_unwinder_init(void) | |||
899 | entry = &__start_eh_frame; | 899 | entry = &__start_eh_frame; |
900 | 900 | ||
901 | dwarf_frame_cachep = kmem_cache_create("dwarf_frames", | 901 | dwarf_frame_cachep = kmem_cache_create("dwarf_frames", |
902 | sizeof(struct dwarf_frame), 0, SLAB_PANIC, NULL); | 902 | sizeof(struct dwarf_frame), 0, |
903 | SLAB_PANIC | SLAB_HWCACHE_ALIGN | SLAB_NOTRACK, NULL); | ||
904 | |||
903 | dwarf_reg_cachep = kmem_cache_create("dwarf_regs", | 905 | dwarf_reg_cachep = kmem_cache_create("dwarf_regs", |
904 | sizeof(struct dwarf_reg), 0, SLAB_PANIC, NULL); | 906 | sizeof(struct dwarf_reg), 0, |
907 | SLAB_PANIC | SLAB_HWCACHE_ALIGN | SLAB_NOTRACK, NULL); | ||
905 | 908 | ||
906 | dwarf_frame_pool = mempool_create(DWARF_FRAME_MIN_REQ, | 909 | dwarf_frame_pool = mempool_create(DWARF_FRAME_MIN_REQ, |
907 | mempool_alloc_slab, | 910 | mempool_alloc_slab, |