[PATCH v2 0/6] introduce DAX tracepoint support

From: Ross Zwisler
Date: Wed Nov 30 2016 - 18:46:00 EST

Tracepoints are the standard way to capture debugging and tracing
information in many parts of the kernel, including the XFS and ext4
filesystems. This series creates a tracepoint header for FS DAX and add
the first few DAX tracepoints to the PMD fault handler. This allows the
tracing for DAX to be done in the same way as the filesystem tracing so
that developers can look at them together and get a coherent idea of what
the system is doing.

I do intend to add tracepoints to the normal 4k DAX fault path and to the
DAX I/O path, but I wanted to get feedback on the PMD tracepoints before I
went any further.

This series is based on Jan Kara's "dax: Clear dirty bits after flushing
caches" series:


I've pushed a git tree with this work here:


Changes since v1:
- Dropped the patch fixing the build issue between DAX, ext4 and FS_IOMAP.
I'll resend an updated patch if needed once Jan's patches for this issue
are applied.
- Added incude/linux/dax.h to MAINTAINERS in patch 4. (Matthew)
- Begin each DAX tracepoint with the device major/minor and the inode so
that we are consistent with the XFS tracepoints. This will allow for
easy grepping of the tracepoint output. (Dave)
- Print all PMD fault flags, not just whether we are doing a read or a
write. (Jan)
- Added __print_flags_u64() and the necessary helpers to the tracing
infrastructure. These functions allow us to print symbols associated
with flags that are 64 bits wide even on 32 bit machines. We need this
for the pfn_t flags.

Ross Zwisler (6):
tracing: add __print_flags_u64()
dax: remove leading space from labels
dax: add tracepoint infrastructure, PMD tracing
dax: update MAINTAINERS entries for FS DAX
dax: add tracepoints to dax_pmd_load_hole()
dax: add tracepoints to dax_pmd_insert_mapping()

fs/dax.c | 80 +++++++++++++--------
include/linux/mm.h | 25 +++++++
include/linux/pfn_t.h | 6 ++
include/linux/trace_events.h | 4 ++
include/trace/events/fs_dax.h | 161 ++++++++++++++++++++++++++++++++++++++++++
include/trace/trace_events.h | 11 +++
kernel/trace/trace_output.c | 38 ++++++++++
8 files changed, 300 insertions(+), 30 deletions(-)
create mode 100644 include/trace/events/fs_dax.h