History

mm, dax: make pmd_fault() and friends be the same as fault()

Instead of passing in multiple parameters in the pmd_fault() handler, a vmf can be passed in just like a fault() handler. This will simplify code and remove the need for the actual pmd fault handlers to allocate a vmf. Related functions are also modified to do the same. [dave.jiang@intel.com: fix issue with xfs_tests stall when DAX option is off] Link: http://lkml.kernel.org/r/148469861071.195597.3619476895250028518.stgit@djiang5-desk3.ch.intel.com Link: http://lkml.kernel.org/r/1484085142-2297-7-git-send-email-ross.zwisler@linux.intel.com Signed-off-by: Dave Jiang <dave.jiang@intel.com> Reviewed-by: Ross Zwisler <ross.zwisler@linux.intel.com> Reviewed-by: Jan Kara <jack@suse.cz> Cc: Dave Chinner <david@fromorbit.com> Cc: Matthew Wilcox <mawilcox@microsoft.com> Cc: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Dave Jiang committed 9 years ago

Commit d8a849e1 parent 27a7ffa8 files · +39 −55Browse files

Showing the changes to include/trace (1 of 8 files). Show all

Unified · Split

include/trace/events/fs_dax.h+7−8
@@ -8,9 +8,8 @@ · 7 unmodified lines
8 8
9DECLARE_EVENT_CLASS(dax_pmd_fault_class,9DECLARE_EVENT_CLASS(dax_pmd_fault_class,
10 TP_PROTO(struct inode *inode, struct vm_area_struct *vma,10 TP_PROTO(struct inode *inode, struct vm_area_struct *vma,
11 unsigned long address, unsigned int flags, pgoff_t pgoff,11 struct vm_fault *vmf, pgoff_t max_pgoff, int result),
12 pgoff_t max_pgoff, int result),12 TP_ARGS(inode, vma, vmf, max_pgoff, result),
13 TP_ARGS(inode, vma, address, flags, pgoff, max_pgoff, result),
14 TP_STRUCT__entry(13 TP_STRUCT__entry(
15 __field(unsigned long, ino)14 __field(unsigned long, ino)
16 __field(unsigned long, vm_start)15 __field(unsigned long, vm_start)
@@ -29,9 +28,9 @@ DECLARE_EVENT_CLASS(dax_pmd_fault_class, · 12 unmodified lines
29 __entry->vm_start = vma->vm_start;28 __entry->vm_start = vma->vm_start;
30 __entry->vm_end = vma->vm_end;29 __entry->vm_end = vma->vm_end;
31 __entry->vm_flags = vma->vm_flags;30 __entry->vm_flags = vma->vm_flags;
32 __entry->address = address;31 __entry->address = vmf->address;
33 __entry->flags = flags;32 __entry->flags = vmf->flags;
34 __entry->pgoff = pgoff;33 __entry->pgoff = vmf->pgoff;
35 __entry->max_pgoff = max_pgoff;34 __entry->max_pgoff = max_pgoff;
36 __entry->result = result;35 __entry->result = result;
37 ),36 ),
@@ -54,9 +53,9 @@ DECLARE_EVENT_CLASS(dax_pmd_fault_class, · 16 unmodified lines
54#define DEFINE_PMD_FAULT_EVENT(name) \53#define DEFINE_PMD_FAULT_EVENT(name) \
55DEFINE_EVENT(dax_pmd_fault_class, name, \54DEFINE_EVENT(dax_pmd_fault_class, name, \
56 TP_PROTO(struct inode *inode, struct vm_area_struct *vma, \55 TP_PROTO(struct inode *inode, struct vm_area_struct *vma, \
57 unsigned long address, unsigned int flags, pgoff_t pgoff, \56 struct vm_fault *vmf, \
58 pgoff_t max_pgoff, int result), \57 pgoff_t max_pgoff, int result), \
59 TP_ARGS(inode, vma, address, flags, pgoff, max_pgoff, result))58 TP_ARGS(inode, vma, vmf, max_pgoff, result))
60 59
61DEFINE_PMD_FAULT_EVENT(dax_pmd_fault);60DEFINE_PMD_FAULT_EVENT(dax_pmd_fault);
62DEFINE_PMD_FAULT_EVENT(dax_pmd_fault_done);61DEFINE_PMD_FAULT_EVENT(dax_pmd_fault_done);