Message ID | 20250417171758.142745-1-nifan.cxl@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | khugepaged: Refactor trace_mm_collapse_huge_page_isolate() to take folio instead of page | expand |
On 2025/4/18 01:17, nifan.cxl@gmail.com wrote: > From: Fan Ni <fan.ni@samsung.com> > > trace_mm_collapse_huge_page_isolate() is only used in > __collapse_huge_page_isolate(), which passes in the head page of a > folio, so refactor it to take folio directly. > > Signed-off-by: Fan Ni <fan.ni@samsung.com> LGTM. Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> > --- > include/trace/events/huge_memory.h | 6 +++--- > mm/khugepaged.c | 4 ++-- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h > index 9d5c00b0285c..a73699f000de 100644 > --- a/include/trace/events/huge_memory.h > +++ b/include/trace/events/huge_memory.h > @@ -116,10 +116,10 @@ TRACE_EVENT(mm_collapse_huge_page, > > TRACE_EVENT(mm_collapse_huge_page_isolate, > > - TP_PROTO(struct page *page, int none_or_zero, > + TP_PROTO(struct folio *folio, int none_or_zero, > int referenced, bool writable, int status), > > - TP_ARGS(page, none_or_zero, referenced, writable, status), > + TP_ARGS(folio, none_or_zero, referenced, writable, status), > > TP_STRUCT__entry( > __field(unsigned long, pfn) > @@ -130,7 +130,7 @@ TRACE_EVENT(mm_collapse_huge_page_isolate, > ), > > TP_fast_assign( > - __entry->pfn = page ? page_to_pfn(page) : -1; > + __entry->pfn = folio ? folio_pfn(folio) : -1; > __entry->none_or_zero = none_or_zero; > __entry->referenced = referenced; > __entry->writable = writable; > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index b8838ba8207a..950d147cd95e 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -696,13 +696,13 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma, > result = SCAN_LACK_REFERENCED_PAGE; > } else { > result = SCAN_SUCCEED; > - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, > + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, > referenced, writable, result); > return result; > } > out: > release_pte_pages(pte, _pte, compound_pagelist); > - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, > + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, > referenced, writable, result); > return result; > }
On Thu, 17 Apr 2025, nifan.cxl@gmail.com wrote: >From: Fan Ni <fan.ni@samsung.com> > >trace_mm_collapse_huge_page_isolate() is only used in >__collapse_huge_page_isolate(), which passes in the head page of a >folio, so refactor it to take folio directly. > >Signed-off-by: Fan Ni <fan.ni@samsung.com> Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
On Thu, Apr 17, 2025 at 11:18 AM <nifan.cxl@gmail.com> wrote: > > From: Fan Ni <fan.ni@samsung.com> > > trace_mm_collapse_huge_page_isolate() is only used in > __collapse_huge_page_isolate(), which passes in the head page of a > folio, so refactor it to take folio directly. > > Signed-off-by: Fan Ni <fan.ni@samsung.com> Looks good! Reviewed-by: Nico Pache <npache@redhat.com> > --- > include/trace/events/huge_memory.h | 6 +++--- > mm/khugepaged.c | 4 ++-- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h > index 9d5c00b0285c..a73699f000de 100644 > --- a/include/trace/events/huge_memory.h > +++ b/include/trace/events/huge_memory.h > @@ -116,10 +116,10 @@ TRACE_EVENT(mm_collapse_huge_page, > > TRACE_EVENT(mm_collapse_huge_page_isolate, > > - TP_PROTO(struct page *page, int none_or_zero, > + TP_PROTO(struct folio *folio, int none_or_zero, > int referenced, bool writable, int status), > > - TP_ARGS(page, none_or_zero, referenced, writable, status), > + TP_ARGS(folio, none_or_zero, referenced, writable, status), > > TP_STRUCT__entry( > __field(unsigned long, pfn) > @@ -130,7 +130,7 @@ TRACE_EVENT(mm_collapse_huge_page_isolate, > ), > > TP_fast_assign( > - __entry->pfn = page ? page_to_pfn(page) : -1; > + __entry->pfn = folio ? folio_pfn(folio) : -1; > __entry->none_or_zero = none_or_zero; > __entry->referenced = referenced; > __entry->writable = writable; > diff --git a/mm/khugepaged.c b/mm/khugepaged.c > index b8838ba8207a..950d147cd95e 100644 > --- a/mm/khugepaged.c > +++ b/mm/khugepaged.c > @@ -696,13 +696,13 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma, > result = SCAN_LACK_REFERENCED_PAGE; > } else { > result = SCAN_SUCCEED; > - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, > + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, > referenced, writable, result); > return result; > } > out: > release_pte_pages(pte, _pte, compound_pagelist); > - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, > + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, > referenced, writable, result); > return result; > } > -- > 2.47.2 >
diff --git a/include/trace/events/huge_memory.h b/include/trace/events/huge_memory.h index 9d5c00b0285c..a73699f000de 100644 --- a/include/trace/events/huge_memory.h +++ b/include/trace/events/huge_memory.h @@ -116,10 +116,10 @@ TRACE_EVENT(mm_collapse_huge_page, TRACE_EVENT(mm_collapse_huge_page_isolate, - TP_PROTO(struct page *page, int none_or_zero, + TP_PROTO(struct folio *folio, int none_or_zero, int referenced, bool writable, int status), - TP_ARGS(page, none_or_zero, referenced, writable, status), + TP_ARGS(folio, none_or_zero, referenced, writable, status), TP_STRUCT__entry( __field(unsigned long, pfn) @@ -130,7 +130,7 @@ TRACE_EVENT(mm_collapse_huge_page_isolate, ), TP_fast_assign( - __entry->pfn = page ? page_to_pfn(page) : -1; + __entry->pfn = folio ? folio_pfn(folio) : -1; __entry->none_or_zero = none_or_zero; __entry->referenced = referenced; __entry->writable = writable; diff --git a/mm/khugepaged.c b/mm/khugepaged.c index b8838ba8207a..950d147cd95e 100644 --- a/mm/khugepaged.c +++ b/mm/khugepaged.c @@ -696,13 +696,13 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma, result = SCAN_LACK_REFERENCED_PAGE; } else { result = SCAN_SUCCEED; - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, referenced, writable, result); return result; } out: release_pte_pages(pte, _pte, compound_pagelist); - trace_mm_collapse_huge_page_isolate(&folio->page, none_or_zero, + trace_mm_collapse_huge_page_isolate(folio, none_or_zero, referenced, writable, result); return result; }