sh: unwinder: cacheline align slab cache objects.
authorPaul Mundt <lethal@linux-sh.org>
Sat, 22 Aug 2009 10:03:25 +0000 (19:03 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Sat, 22 Aug 2009 10:03:25 +0000 (19:03 +0900)
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>
arch/sh/kernel/dwarf.c

index 577302f..700f7e0 100644 (file)
@@ -899,9 +899,12 @@ static int __init dwarf_unwinder_init(void)
        entry = &__start_eh_frame;
 
        dwarf_frame_cachep = kmem_cache_create("dwarf_frames",
-                       sizeof(struct dwarf_frame), 0, SLAB_PANIC, NULL);
+                       sizeof(struct dwarf_frame), 0,
+                       SLAB_PANIC | SLAB_HWCACHE_ALIGN | SLAB_NOTRACK, NULL);
+
        dwarf_reg_cachep = kmem_cache_create("dwarf_regs",
-                       sizeof(struct dwarf_reg), 0, SLAB_PANIC, NULL);
+                       sizeof(struct dwarf_reg), 0,
+                       SLAB_PANIC | SLAB_HWCACHE_ALIGN | SLAB_NOTRACK, NULL);
 
        dwarf_frame_pool = mempool_create(DWARF_FRAME_MIN_REQ,
                                          mempool_alloc_slab,