linux/arch/sh/include
Matt Fleming 858918b77b sh: Optimise FDE/CIE lookup by using red-black trees
Now that the DWARF unwinder is being used to provide perf callstacks
unwinding speed is an issue. It is no longer being used in exceptional
circumstances where we don't care about runtime performance, e.g. when
panicing, so it makes sense improve performance is possible.

With this patch I saw a 42% improvement in unwind time when calling
return_address(1). Greater improvements will be seen as the number of
levels unwound increases as each unwind is now cheaper.

Note that insertion time has doubled but that's just the price we pay
for keeping the trees balanced. However, this is a one-time cost for
kernel boot/module load and so the improvements in lookup time dominate
the extra time we spend keeping the trees balanced.

Signed-off-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-02-08 11:29:15 +09:00
..
asm sh: Optimise FDE/CIE lookup by using red-black trees 2010-02-08 11:29:15 +09:00
cpu-common/cpu sh: Kill off unused cpu/cacheflush.h. 2009-08-21 16:20:57 +09:00
cpu-sh2/cpu SH2(A) cache update 2008-08-04 16:33:47 +09:00
cpu-sh2a/cpu sh: Convert SH-2A to new cacheflush interface. 2009-08-15 12:38:29 +09:00
cpu-sh3/cpu sh: Convert SH7705 extended mode to new cacheflush interface. 2009-08-15 12:53:39 +09:00
cpu-sh4/cpu sh: dmaengine support for sh7724. 2009-12-17 14:18:27 +09:00
cpu-sh5/cpu sh: Convert cache disabled SH-5 over to new cache interface. 2009-08-16 00:53:56 +09:00
mach-common/mach Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mach-dreamcast/mach sh: pci: Tidy up the dreamcast PCI support. 2009-04-20 20:22:05 +09:00
mach-ecovec24/mach sh: mach-ecovec24: Remove un-defined settings for VPU 2009-12-04 13:42:34 +09:00
mach-kfr2r09/mach sh: LCDC start_transfer() for the KFR2R09 board 2009-12-09 12:40:45 +09:00
mach-landisk/mach
mach-migor/mach sh: clean up Migo-R header file 2009-08-07 03:59:24 +09:00
mach-se/mach sh: mach-se: Convert SE7722 FPGA to dynamic IRQ allocation. 2009-11-04 11:44:21 +09:00
mach-sh03/mach