linux-next/arch/arm/vfp
Ard Biesheuvel 8769177658 ARM: vfp: Record VFP bounces as perf emulation faults
VFP 'bouncing' occurs when the VFP unit cannot complete the execution of
a VFP instruction, either because it is not implemented at all, or
because the values of the arguments are out of range for the hardware
implementation, and the software needs to step in to complete the
operation.

To give some insight in how much certain programs rely on this bouncing,
record the emulation of a VFP instruction in perf's emulation-faults
counter.

This can be used like so

  perf stat -e emulation-faults ./testfloat -all2

and the output will be something like

 Performance counter stats for './testfloat -all2':

           259,277      emulation-faults:u

       6.846432176 seconds time elapsed

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2023-05-16 20:24:08 +02:00
..
entry.S ARM: 9297/1: vfp: avoid unbalanced stack on 'success' return path 2023-05-10 10:50:25 +01:00
Makefile ARM: 8989/1: use .fpu assembler directives instead of assembler arguments 2020-07-21 16:33:37 +01:00
vfp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
vfpdouble.c ARM: 8026/1: Fix emulation of multiply accumulate instructions 2014-04-14 23:28:24 +01:00
vfphw.S ARM: 9297/1: vfp: avoid unbalanced stack on 'success' return path 2023-05-10 10:50:25 +01:00
vfpinstr.h ARM: 8991/1: use VFP assembler mnemonics if available 2020-07-21 16:33:39 +01:00
vfpmodule.c ARM: vfp: Record VFP bounces as perf emulation faults 2023-05-16 20:24:08 +02:00
vfpsingle.c ARM: convert printk(KERN_* to pr_* 2014-11-21 15:24:50 +00:00