xtensa: implement counting and sampling perf events
authorMax Filippov <jcmvbkbc@gmail.com>
Sat, 13 Jun 2015 22:41:25 +0000 (01:41 +0300)
committerMax Filippov <jcmvbkbc@gmail.com>
Mon, 17 Aug 2015 04:33:30 +0000 (07:33 +0300)
commit9bd46da45edd9701bcb2a221d58afe7d01febd1d
treeb7e0fb6b38b05a205b4ddd52352e848ed99b8e3e
parentaf885de869a9d7086d50a2c250323f0bfd939fd4
xtensa: implement counting and sampling perf events

Xtensa Performance Monitor Module has up to 8 32 bit wide performance
counters. Each counter may be enabled independently and can count any
single type of hardware performance events. Event counting may be enabled
and disabled globally (per PMM).
Each counter has status register with bits indicating if the counter has
been overflown and may be programmed to raise profiling IRQ on overflow.
This IRQ is used to rewind counters and allow for counting more than 2^32
samples for counting events and to report samples for sampling events.

For more details see Tensilica Debug User's Guide, chapter 8
"Performance monitor module".

Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/Kconfig
arch/xtensa/kernel/Makefile
arch/xtensa/kernel/perf_event.c [new file with mode: 0644]