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: https://lists.01.org/pipermail/linux-nvdimm/2016-November/007864.html I've pushed a git tree with this work here: https://git.kernel.org/cgit/linux/kernel/git/zwisler/linux.git/log/?h=dax_tracepoints_v3 Changes since v2: - Dropped "dax: remove leading space from labels" patch. (Jan) - Reordered TP_STRUCT__entry() fields so that all the 64 bit entries (for 64 bit machines) come first, followed by the 32 bit entries. This allows for optimal packing of the entires. (Steve) - Fixed 'mask' in trace_print_flags_seq_u64() to be an unsigned long long. (Steve) Ross Zwisler (5): tracing: add __print_flags_u64() 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() MAINTAINERS | 5 +- fs/dax.c | 56 ++++++++++----- 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, 288 insertions(+), 18 deletions(-) create mode 100644 include/trace/events/fs_dax.h -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html