[PATCH] Register read and writes tracing

Prasad Sodagudi
2020-09-28T00:35:08Z

Qualcomm team have tried to upstreaming the register trace buffer(RTB) use case earlier - [1]
with pstore approach. In that discussion, there was suggestion to use the ftrace events for
tracking the register reads and writes. In this patch, added register read/write operations
tracing support and also add _no_log variants(for example - readl_relaxed_no_log to readl_relaxed)
functions, which will help to avoid excessive logging for certain register operations
(continuous writes from a loop). These tracepoints can be used by modules
to register probes and log the data convenient for silicon vendor format.

[1] - https://lore.kernel.org/lkml/cover.1535119710.git.saiprakash.ranjan@codeaurora.org/

Qualcomm teams uses these logs for debugging various issues in the product life cycle and
hopping that this logging would help other silicon vendors as this is generic approach.
Please provide your suggestion/comments to bring this patch upstream quality.

Prasad Sodagudi (1):
tracing: Add register read and write tracing support

arch/arm64/include/asm/io.h | 117 ++++++++++++++++++++++++++++++++++++++---
include/linux/iorw.h | 20 +++++++
include/trace/events/rwio.h | 51 ++++++++++++++++++
kernel/trace/Kconfig | 11 ++++
kernel/trace/Makefile | 1 +
kernel/trace/trace_readwrite.c | 30 +++++++++++
6 files changed, 222 insertions(+), 8 deletions(-)
create mode 100644 include/linux/iorw.h
create mode 100644 include/trace/events/rwio.h
create mode 100644 kernel/trace/trace_readwrite.c

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project