Re: [PATCH 04/11] mm: don't pass "enum lru_list" to trace_mm_lru_insertion()

From: Alex Shi
Date: Tue Dec 08 2020 - 03:47:53 EST


Reviewed-by: Alex Shi <alex.shi@xxxxxxxxxxxxxxxxx>

在 2020/12/8 上午6:09, Yu Zhao 写道:
> The parameter is redundant in the sense that it can be extracted
> from the "struct page" parameter by page_lru() correctly.
>
> Signed-off-by: Yu Zhao <yuzhao@xxxxxxxxxx>
> ---
> include/trace/events/pagemap.h | 11 ++++-------
> mm/swap.c | 5 +----
> 2 files changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/include/trace/events/pagemap.h b/include/trace/events/pagemap.h
> index 8fd1babae761..e1735fe7c76a 100644
> --- a/include/trace/events/pagemap.h
> +++ b/include/trace/events/pagemap.h
> @@ -27,24 +27,21 @@
>
> TRACE_EVENT(mm_lru_insertion,
>
> - TP_PROTO(
> - struct page *page,
> - int lru
> - ),
> + TP_PROTO(struct page *page),
>
> - TP_ARGS(page, lru),
> + TP_ARGS(page),
>
> TP_STRUCT__entry(
> __field(struct page *, page )
> __field(unsigned long, pfn )
> - __field(int, lru )
> + __field(enum lru_list, lru )
> __field(unsigned long, flags )
> ),
>
> TP_fast_assign(
> __entry->page = page;
> __entry->pfn = page_to_pfn(page);
> - __entry->lru = lru;
> + __entry->lru = page_lru(page);
> __entry->flags = trace_pagemap_flags(page);
> ),
>
> diff --git a/mm/swap.c b/mm/swap.c
> index 136acabbfab5..e053b4db108a 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -957,7 +957,6 @@ EXPORT_SYMBOL(__pagevec_release);
>
> static void __pagevec_lru_add_fn(struct page *page, struct lruvec *lruvec)
> {
> - enum lru_list lru;
> int was_unevictable = TestClearPageUnevictable(page);
> int nr_pages = thp_nr_pages(page);
>
> @@ -993,11 +992,9 @@ static void __pagevec_lru_add_fn(struct page *page, struct lruvec *lruvec)
> smp_mb__after_atomic();
>
> if (page_evictable(page)) {
> - lru = page_lru(page);
> if (was_unevictable)
> __count_vm_events(UNEVICTABLE_PGRESCUED, nr_pages);
> } else {
> - lru = LRU_UNEVICTABLE;
> ClearPageActive(page);
> SetPageUnevictable(page);
> if (!was_unevictable)
> @@ -1005,7 +1002,7 @@ static void __pagevec_lru_add_fn(struct page *page, struct lruvec *lruvec)
> }
>
> add_page_to_lru_list(page, lruvec);
> - trace_mm_lru_insertion(page, lru);
> + trace_mm_lru_insertion(page);
> }
>
> struct lruvecs {
>