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@xxxxxxxxxxxxxx/ 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