dax: add tracepoints to dax_pmd_insert_mapping()
Add tracepoints to dax_pmd_insert_mapping(), following the same logging conventions as the tracepoints in dax_iomap_pmd_fault(). Here is an example PMD fault showing the new tracepoints: big-1504 [001] .... 326.960743: xfs_filemap_pmd_fault: dev 259:0 ino 0x1003 big-1504 [001] .... 326.960753: dax_pmd_fault: dev 259:0 ino 0x1003 shared WRITE|ALLOW_RETRY|KILLABLE|USER address 0x10505000 vm_start 0x10200000 vm_end 0x10700000 pgoff 0x200 max_pgoff 0x1400 big-1504 [001] .... 326.960981: dax_pmd_insert_mapping: dev 259:0 ino 0x1003 shared write address 0x10505000 length 0x200000 pfn 0x100600 DEV|MAP radix_entry 0xc000e big-1504 [001] .... 326.960986: dax_pmd_fault_done: dev 259:0 ino 0x1003 shared WRITE|ALLOW_RETRY|KILLABLE|USER address 0x10505000 vm_start 0x10200000 vm_end 0x10700000 pgoff 0x200 max_pgoff 0x1400 NOPAGE Link: http://lkml.kernel.org/r/1484085142-2297-6-git-send-email-ross.zwisler@linux.intel.com Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com> Reviewed-by: Jan Kara <jack@suse.cz> Acked-by: Steven Rostedt <rostedt@goodmis.org> Cc: Dave Chinner <david@fromorbit.com> Cc: Dave Jiang <dave.jiang@intel.com> Cc: Matthew Wilcox <mawilcox@microsoft.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

کامیت شده توسط
Linus Torvalds

والد
653b2ea339
کامیت
27a7ffaccd
@@ -104,6 +104,57 @@ DEFINE_EVENT(dax_pmd_load_hole_class, name, \
|
||||
DEFINE_PMD_LOAD_HOLE_EVENT(dax_pmd_load_hole);
|
||||
DEFINE_PMD_LOAD_HOLE_EVENT(dax_pmd_load_hole_fallback);
|
||||
|
||||
DECLARE_EVENT_CLASS(dax_pmd_insert_mapping_class,
|
||||
TP_PROTO(struct inode *inode, struct vm_area_struct *vma,
|
||||
unsigned long address, int write, long length, pfn_t pfn,
|
||||
void *radix_entry),
|
||||
TP_ARGS(inode, vma, address, write, length, pfn, radix_entry),
|
||||
TP_STRUCT__entry(
|
||||
__field(unsigned long, ino)
|
||||
__field(unsigned long, vm_flags)
|
||||
__field(unsigned long, address)
|
||||
__field(long, length)
|
||||
__field(u64, pfn_val)
|
||||
__field(void *, radix_entry)
|
||||
__field(dev_t, dev)
|
||||
__field(int, write)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->vm_flags = vma->vm_flags;
|
||||
__entry->address = address;
|
||||
__entry->write = write;
|
||||
__entry->length = length;
|
||||
__entry->pfn_val = pfn.val;
|
||||
__entry->radix_entry = radix_entry;
|
||||
),
|
||||
TP_printk("dev %d:%d ino %#lx %s %s address %#lx length %#lx "
|
||||
"pfn %#llx %s radix_entry %#lx",
|
||||
MAJOR(__entry->dev),
|
||||
MINOR(__entry->dev),
|
||||
__entry->ino,
|
||||
__entry->vm_flags & VM_SHARED ? "shared" : "private",
|
||||
__entry->write ? "write" : "read",
|
||||
__entry->address,
|
||||
__entry->length,
|
||||
__entry->pfn_val & ~PFN_FLAGS_MASK,
|
||||
__print_flags_u64(__entry->pfn_val & PFN_FLAGS_MASK, "|",
|
||||
PFN_FLAGS_TRACE),
|
||||
(unsigned long)__entry->radix_entry
|
||||
)
|
||||
)
|
||||
|
||||
#define DEFINE_PMD_INSERT_MAPPING_EVENT(name) \
|
||||
DEFINE_EVENT(dax_pmd_insert_mapping_class, name, \
|
||||
TP_PROTO(struct inode *inode, struct vm_area_struct *vma, \
|
||||
unsigned long address, int write, long length, pfn_t pfn, \
|
||||
void *radix_entry), \
|
||||
TP_ARGS(inode, vma, address, write, length, pfn, radix_entry))
|
||||
|
||||
DEFINE_PMD_INSERT_MAPPING_EVENT(dax_pmd_insert_mapping);
|
||||
DEFINE_PMD_INSERT_MAPPING_EVENT(dax_pmd_insert_mapping_fallback);
|
||||
|
||||
#endif /* _TRACE_FS_DAX_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
مرجع در شماره جدید
Block a user