2022-10-26 05:55:38

by Gautam Menghani

[permalink] [raw]
Subject: [PATCH] mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call

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/[email protected]/

Signed-off-by: Gautam Menghani <[email protected]>
---
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



2022-10-26 18:48:50

by Yang Shi

[permalink] [raw]
Subject: Re: [PATCH] mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call

On Tue, Oct 25, 2022 at 9:45 PM Gautam Menghani
<[email protected]> 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/[email protected]/
>
> Signed-off-by: Gautam Menghani <[email protected]>

Reviewed-by: Yang Shi <[email protected]>

> ---
> 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
>

2022-10-27 17:58:34

by Zach O'Keefe

[permalink] [raw]
Subject: Re: [PATCH] mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call

On Oct 26 11:10, Yang Shi wrote:
> On Tue, Oct 25, 2022 at 9:45 PM Gautam Menghani
> <[email protected]> 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/[email protected]/
> >
> > Signed-off-by: Gautam Menghani <[email protected]>
>
> Reviewed-by: Yang Shi <[email protected]>
>

Reviewed-by: Zach O'Keefe <[email protected]>

> > ---
> > 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
> >

2022-11-14 16:20:51

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call

On Wed, 26 Oct 2022 10:15:24 +0530
Gautam Menghani <[email protected]> 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/[email protected]/
>
> Signed-off-by: Gautam Menghani <[email protected]>
> ---
> 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) <[email protected]>

-- Steve

2022-11-16 22:41:43

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] mm/khugepaged: Refactor mm_khugepaged_scan_file tracepoint to remove filename from function call

On Wed, 26 Oct 2022 10:15:24 +0530 Gautam Menghani <[email protected]> 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/[email protected]/
>

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.