mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call

Message ID 20221026044524.54793-1-gautammenghani201@gmail.com
State New
Headers
Series mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call |

Commit Message

Gautam Menghani Oct. 26, 2022, 4:45 a.m. UTC
  Refactor the mm_khugepaged_scan_file tracepoint to move filename
dereference to the tracepoint definition, for maintaing consistency with
other tracepoints[1].

[1]:lore.kernel.org/lkml/20221024111621.3ba17e2c@gandalf.local.home/

Signed-off-by: Gautam Menghani <gautammenghani201@gmail.com>
---
 include/trace/events/huge_memory.h | 8 ++++----
 mm/khugepaged.c                    | 3 +--
 2 files changed, 5 insertions(+), 6 deletions(-)
  

Comments

Zach O'Keefe Oct. 27, 2022, 5:43 p.m. UTC | #1
On Oct 26 11:10, Yang Shi wrote:
> On Tue, Oct 25, 2022 at 9:45 PM Gautam Menghani
> <gautammenghani201@gmail.com> wrote:
> >
> > Refactor the mm_khugepaged_scan_file tracepoint to move filename
> > dereference to the tracepoint definition, for maintaing consistency with
> > other tracepoints[1].
> >
> > [1]:lore.kernel.org/lkml/20221024111621.3ba17e2c@gandalf.local.home/
> >
> > Signed-off-by: Gautam Menghani <gautammenghani201@gmail.com>
> 
> Reviewed-by: Yang Shi <shy828301@gmail.com>
> 

Reviewed-by: Zach O'Keefe <zokeefe@google.com>

> > ---
> >  include/trace/events/huge_memory.h | 8 ++++----
> >  mm/khugepaged.c                    | 3 +--
> >  2 files changed, 5 insertions(+), 6 deletions(-)
> >
> > diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h
> > index 935af4947917..760455dfa860 100644
> > --- a/include/trace/events/huge_memory.h
> > +++ b/include/trace/events/huge_memory.h
> > @@ -171,15 +171,15 @@ TRACE_EVENT(mm_collapse_huge_page_swapin,
> >
> >  TRACE_EVENT(mm_khugepaged_scan_file,
> >
> > -       TP_PROTO(struct mm_struct *mm, struct page *page, const char *filename,
> > +       TP_PROTO(struct mm_struct *mm, struct page *page, struct file *file,
> >                  int present, int swap, int result),
> >
> > -       TP_ARGS(mm, page, filename, present, swap, result),
> > +       TP_ARGS(mm, page, file, present, swap, result),
> >
> >         TP_STRUCT__entry(
> >                 __field(struct mm_struct *, mm)
> >                 __field(unsigned long, pfn)
> > -               __string(filename, filename)
> > +               __string(filename, file->f_path.dentry->d_iname)
> >                 __field(int, present)
> >                 __field(int, swap)
> >                 __field(int, result)
> > @@ -188,7 +188,7 @@ TRACE_EVENT(mm_khugepaged_scan_file,
> >         TP_fast_assign(
> >                 __entry->mm = mm;
> >                 __entry->pfn = page ? page_to_pfn(page) : -1;
> > -               __assign_str(filename, filename);
> > +               __assign_str(filename, file->f_path.dentry->d_iname);
> >                 __entry->present = present;
> >                 __entry->swap = swap;
> >                 __entry->result = result;
> > diff --git a/mm/khugepaged.c b/mm/khugepaged.c
> > index 4734315f7940..9808a899f9f7 100644
> > --- a/mm/khugepaged.c
> > +++ b/mm/khugepaged.c
> > @@ -2157,8 +2157,7 @@ static int hpage_collapse_scan_file(struct mm_struct *mm, unsigned long addr,
> >                 }
> >         }
> >
> > -       trace_mm_khugepaged_scan_file(mm, page, file->f_path.dentry->d_iname,
> > -                                     present, swap, result);
> > +       trace_mm_khugepaged_scan_file(mm, page, file, present, swap, result);
> >         return result;
> >  }
> >  #else
> > --
> > 2.34.1
> >
  
Steven Rostedt Nov. 14, 2022, 3:24 p.m. UTC | #2
On Wed, 26 Oct 2022 10:15:24 +0530
Gautam Menghani <gautammenghani201@gmail.com> wrote:

> Refactor the mm_khugepaged_scan_file tracepoint to move filename
> dereference to the tracepoint definition, for maintaing consistency with
> other tracepoints[1].
> 
> [1]:lore.kernel.org/lkml/20221024111621.3ba17e2c@gandalf.local.home/
> 
> Signed-off-by: Gautam Menghani <gautammenghani201@gmail.com>
> ---
>  include/trace/events/huge_memory.h | 8 ++++----
>  mm/khugepaged.c                    | 3 +--
>  2 files changed, 5 insertions(+), 6 deletions(-)

From the tracing point of view:

Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>

-- Steve
  
Andrew Morton Nov. 16, 2022, 10:35 p.m. UTC | #3
On Wed, 26 Oct 2022 10:15:24 +0530 Gautam Menghani <gautammenghani201@gmail.com> wrote:

> Refactor the mm_khugepaged_scan_file tracepoint to move filename
> dereference to the tracepoint definition, for maintaing consistency with
> other tracepoints[1].
> 
> [1]:lore.kernel.org/lkml/20221024111621.3ba17e2c@gandalf.local.home/
> 

I just discovered by accident that this fixed an issue in a patch which
we merged during this -rc cycle.  I'll move it from mm-unstable into
mm-hotfixes-unstable so this fix is also merged during this cycle.

Please do remember to flag such thnigs when perparing the changelogs. 
Preferably with a Fixes: tag.
  

Patch

diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h
index 935af4947917..760455dfa860 100644
--- a/include/trace/events/huge_memory.h
+++ b/include/trace/events/huge_memory.h
@@ -171,15 +171,15 @@  TRACE_EVENT(mm_collapse_huge_page_swapin,
 
 TRACE_EVENT(mm_khugepaged_scan_file,
 
-	TP_PROTO(struct mm_struct *mm, struct page *page, const char *filename,
+	TP_PROTO(struct mm_struct *mm, struct page *page, struct file *file,
 		 int present, int swap, int result),
 
-	TP_ARGS(mm, page, filename, present, swap, result),
+	TP_ARGS(mm, page, file, present, swap, result),
 
 	TP_STRUCT__entry(
 		__field(struct mm_struct *, mm)
 		__field(unsigned long, pfn)
-		__string(filename, filename)
+		__string(filename, file->f_path.dentry->d_iname)
 		__field(int, present)
 		__field(int, swap)
 		__field(int, result)
@@ -188,7 +188,7 @@  TRACE_EVENT(mm_khugepaged_scan_file,
 	TP_fast_assign(
 		__entry->mm = mm;
 		__entry->pfn = page ? page_to_pfn(page) : -1;
-		__assign_str(filename, filename);
+		__assign_str(filename, file->f_path.dentry->d_iname);
 		__entry->present = present;
 		__entry->swap = swap;
 		__entry->result = result;
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 4734315f7940..9808a899f9f7 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -2157,8 +2157,7 @@  static int hpage_collapse_scan_file(struct mm_struct *mm, unsigned long addr,
 		}
 	}
 
-	trace_mm_khugepaged_scan_file(mm, page, file->f_path.dentry->d_iname,
-				      present, swap, result);
+	trace_mm_khugepaged_scan_file(mm, page, file, present, swap, result);
 	return result;
 }
 #else