summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ixp4xx
diff options
context:
space:
mode:
authorJon Medhurst <tixy@yxit.co.uk>2011-06-14 15:54:28 +0100
committerTixy <tixy@medhuaa1.miniserver.com>2011-07-13 17:32:45 +0000
commit3d4a99785abee0687f8fad9a055d2f0c61a9dd57 (patch)
tree3a7688c8b37935dcab093b86d6afb6564e52dab2 /arch/arm/mach-ixp4xx
parent235a4ce79feb8d5351f9164981bc57d5e29f974b (diff)
downloadblackbird-op-linux-3d4a99785abee0687f8fad9a055d2f0c61a9dd57.tar.gz
blackbird-op-linux-3d4a99785abee0687f8fad9a055d2f0c61a9dd57.zip
ARM: kprobes: Optimise emulation of LDM and STM
This patch improves the performance of LDM and STM instruction emulation. This is desirable because. - jprobes and kretprobes probe the first instruction in a function and, when the frame pointer is omitted, this instruction is often a STM used to push registers onto the stack. - The STM and LDM instructions are common in the body and tail of functions. - At the same time as being a common instruction form, they also have one of the slowest and most complicated simulation routines. The approach taken to optimisation is to use emulation rather than simulation, that is, a modified form of the instruction is run with an appropriate register context. Benchmarking on an OMAP3530 shows the optimised emulation is between 2 and 3 times faster than the simulation routines. On a Kirkwood based device the relative performance was very significantly better than this. Signed-off-by: Jon Medhurst <tixy@yxit.co.uk> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Diffstat (limited to 'arch/arm/mach-ixp4xx')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud