diff options
author | Jon Medhurst <tixy@yxit.co.uk> | 2011-06-14 16:54:28 +0200 |
---|---|---|
committer | Tixy <tixy@medhuaa1.miniserver.com> | 2011-07-13 19:32:45 +0200 |
commit | 3d4a99785abee0687f8fad9a055d2f0c61a9dd57 (patch) | |
tree | 3a7688c8b37935dcab093b86d6afb6564e52dab2 /crypto/zlib.c | |
parent | ARM: kprobes: Add common decoding function for LDM and STM (diff) | |
download | linux-3d4a99785abee0687f8fad9a055d2f0c61a9dd57.tar.xz 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 'crypto/zlib.c')
0 files changed, 0 insertions, 0 deletions