This second round of DAX tracepoint patches adds tracing to the PTE fault path (dax_iomap_pte_fault(), dax_pfn_mkwrite(), dax_load_hole(), dax_insert_mapping()) and to the writeback path (dax_writeback_mapping_range(), dax_writeback_one()). The purpose of this tracing is to give us a high level view of what DAX is doing, whether faults are being serviced by PMDs or PTEs, and by real storage or by zero pages covering holes. I do have some patches nearly ready which also add tracing to grab_mapping_entry() and dax_insert_mapping_entry(). These are more targeted at logging how we are interacting with the radix tree, how we use empty entries for locking, whether we "downgrade" huge zero pages to 4k PTE sized allocations, etc. In the end it seemed to me that this might be too detailed to have as constantly present tracepoints, but if anyone sees value in having tracepoints like this in the DAX code permanently (Jan?), please let me know and I'll add those last two patches. All these tracepoints were done to be consistent with the style of the XFS tracepoints and with the existing DAX PMD tracepoints. This series applies cleanly to the current mmots/master: commit 35aa45ffe8d9 ("pci: test for unexpectedly disabled bridges") and I'm hoping that it'll end up going to Linus through akpm's -mm tree. Thanks, - Ross Ross Zwisler (6): dax: add tracepoints to dax_iomap_pte_fault() dax: add tracepoints to dax_pfn_mkwrite() dax: add tracepoints to dax_load_hole() dax: add tracepoints to dax_writeback_mapping_range() dax: add tracepoint to dax_writeback_one() dax: add tracepoint to dax_insert_mapping() fs/dax.c | 44 ++++++++++---- include/trace/events/fs_dax.h | 130 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+), 11 deletions(-) -- 2.9.3