MIPS hardware performance counters may have either 32-bit or 64-bit
wide counter registers. The current implementation only supports the
These patches aim to add support for 64-bit wide counters while
mantaining support for 32-bit.
Tested with perf top and perf record, which both work well on an
Octeon/Debian based system.
Changes from v4:
o Rebased against 3.1.0-rc6
Changes from v3:
o Rebased against 2.6.39.
o Re-Include Octeon processor support.
Changes from v2:
o Quit sign extending 32-bit counter values.
o Remove usless local_irq_save() in several places.
Changes from v1:
o Removed Octeon processor support to a separate patch set.
o Rebased against v5 of Deng-Cheng Zhu's cleanups:
o Tried to fix problem where 32-bit counters generated way too many
David Daney (5):
MIPS: Add accessor macros for 64-bit performance counter registers.
MIPS: perf: Cleanup formatting in arch/mips/kernel/perf_event.c
MIPS: perf: Reorganize contents of perf support files.
MIPS: perf: Add support for 64-bit perf counters.
MIPS: perf: Add Octeon support for hardware perf.
arch/mips/Kconfig | 2 +-
arch/mips/include/asm/mipsregs.h | 8 +
arch/mips/kernel/Makefile | 5 +-
arch/mips/kernel/perf_event.c | 519 +--------------
arch/mips/kernel/perf_event_mipsxx.c | 1265 ++++++++++++++++++++++++----------
5 files changed, 933 insertions(+), 866 deletions(-)
Cc: Deng-Cheng Zhu <firstname.lastname@example.org>