aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/dwarf.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-22 06:03:25 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-08-22 06:03:25 -0400
commit4f896ffca2b72f4b719746e7fbb0b623252e6ac9 (patch)
treef77ef49e1111c1efd4eec1ae305c8bbf746f1cdf /arch/sh/kernel/dwarf.c
parentfa9d3b4da55fc8949efc2b4220d93f188fbcebd6 (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.c7
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,