2020-12-07 22:13:22

by Yu Zhao

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

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 <[email protected]>
---
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 {
--
2.29.2.576.ga3fc446d84-goog


2020-12-08 12:11:05

by Alex Shi

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

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

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