linux/arch/mips/math-emu
Aleksandar Markovic 454854ace2 MIPS: math-emu: Add FP emu debugfs stats for individual instructions
Add FP emulation debugfs statistics for individual instructions. The
debugfs files that contain counter values are placed in a separate
directory called "instructions". This means that the default path for
these new stat is "/sys/kernel/debug/mips/fpuemustats/instructions".

Each instruction counter is mapped to the debugfs file that has the
same name as instruction name. The lowercase is choosen as more
commonly used case for instruction names.

One example of usage:

mips_host::/sys/kernel/debug/mips/fpuemustats/instructions # grep "" *

The shortened output of this command is:

abs.d:34
abs.s:5711
add.d:10401
add.s:399307
bc1eqz:3199
...
...
...
sub.s:167211
trunc.l.d:375
trunc.l.s:8054
trunc.w.d:421
trunc.w.s:27032

The limitation of this patch is that it handles R6 FP emulation
instructions only. There are altogether 114 handled instructions.

Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com>
Signed-off-by: Goran Ferenc <goran.ferenc@imgtec.com>
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
Cc: Douglas Leung <douglas.leung@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: Maciej W. Rozycki <macro@imgtec.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Petar Jovanovic <petar.jovanovic@imgtec.com>
Cc: Raghu Gandham <raghu.gandham@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/17145/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-08-29 15:21:57 +02:00
..
cp1emu.c MIPS: math-emu: Add FP emu debugfs stats for individual instructions 2017-08-29 15:21:57 +02:00
dp_2008class.c
dp_add.c
dp_cmp.c
dp_div.c
dp_fint.c
dp_flong.c
dp_fmax.c MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs 2017-08-29 15:21:55 +02:00
dp_fmin.c MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs 2017-08-29 15:21:55 +02:00
dp_fsp.c
dp_maddf.c MIPS: math-emu: <MADDF|MSUBF>.D: Fix accuracy (64-bit case) 2017-08-29 15:21:56 +02:00
dp_mul.c MIPS: math-emu: Fix code indentation 2016-05-13 14:02:23 +02:00
dp_rint.c MIPS: math-emu: RINT.<D|S>: Fix several problems by reimplementation 2017-08-29 15:21:56 +02:00
dp_simple.c
dp_sqrt.c
dp_sub.c
dp_tint.c
dp_tlong.c
dsemul.c sched/headers: Prepare to move the task_lock()/unlock() APIs to <linux/sched/task.h> 2017-03-02 08:42:38 +01:00
ieee754.c
ieee754.h MIPS: math-emu: RINT.<D|S>: Fix several problems by reimplementation 2017-08-29 15:21:56 +02:00
ieee754d.c
ieee754dp.c MIPS: math-emu: Always propagate sNaN payload in quieting 2016-05-13 14:02:11 +02:00
ieee754dp.h MIPS: math-emu: Add z argument macros 2016-05-13 14:02:22 +02:00
ieee754int.h MIPS: math-emu: <MADDF|MSUBF>.<D|S>: Clean up "maddf_flags" enumeration 2017-08-29 15:21:56 +02:00
ieee754sp.c MIPS: math-emu: Fix m{add,sub}.s shifts 2016-05-13 14:02:23 +02:00
ieee754sp.h MIPS: math-emu: <MADDF|MSUBF>.S: Fix accuracy (32-bit case) 2017-08-29 15:21:56 +02:00
Makefile MIPS: math-emu: RINT.<D|S>: Fix several problems by reimplementation 2017-08-29 15:21:56 +02:00
me-debugfs.c MIPS: math-emu: Add FP emu debugfs stats for individual instructions 2017-08-29 15:21:57 +02:00
sp_2008class.c
sp_add.c MIPS: math-emu: Fix m{add,sub}.s shifts 2016-05-13 14:02:23 +02:00
sp_cmp.c
sp_div.c
sp_fdp.c
sp_fint.c
sp_flong.c
sp_fmax.c MIPS: math-emu: <MAXA|MINA>.<D|S>: Fix cases of both infinite inputs 2017-08-29 15:21:55 +02:00
sp_fmin.c MIPS: math-emu: MINA.<D|S>: Fix some cases of infinity and zero inputs 2017-08-29 15:21:55 +02:00
sp_maddf.c MIPS: math-emu: <MADDF|MSUBF>.S: Fix accuracy (32-bit case) 2017-08-29 15:21:56 +02:00
sp_mul.c
sp_rint.c MIPS: math-emu: RINT.<D|S>: Fix several problems by reimplementation 2017-08-29 15:21:56 +02:00
sp_simple.c
sp_sqrt.c
sp_sub.c MIPS: math-emu: Fix m{add,sub}.s shifts 2016-05-13 14:02:23 +02:00
sp_tint.c
sp_tlong.c