2023-06-09 01:43:09

by Kefeng Wang

[permalink] [raw]
Subject: [PATCH] mm: kill [add|del]_page_to_lru_list()

Directly call lruvec_del_folio(), and drop unused page interfaces.

Signed-off-by: Kefeng Wang <[email protected]>
---
include/linux/mm_inline.h | 12 ------------
mm/compaction.c | 2 +-
2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/include/linux/mm_inline.h b/include/linux/mm_inline.h
index 0e1d239a882c..e9cdeb290841 100644
--- a/include/linux/mm_inline.h
+++ b/include/linux/mm_inline.h
@@ -323,12 +323,6 @@ void lruvec_add_folio(struct lruvec *lruvec, struct folio *folio)
list_add(&folio->lru, &lruvec->lists[lru]);
}

-static __always_inline void add_page_to_lru_list(struct page *page,
- struct lruvec *lruvec)
-{
- lruvec_add_folio(lruvec, page_folio(page));
-}
-
static __always_inline
void lruvec_add_folio_tail(struct lruvec *lruvec, struct folio *folio)
{
@@ -357,12 +351,6 @@ void lruvec_del_folio(struct lruvec *lruvec, struct folio *folio)
-folio_nr_pages(folio));
}

-static __always_inline void del_page_from_lru_list(struct page *page,
- struct lruvec *lruvec)
-{
- lruvec_del_folio(lruvec, page_folio(page));
-}
-
#ifdef CONFIG_ANON_VMA_NAME
/*
* mmap_lock should be read-locked when calling anon_vma_name(). Caller should
diff --git a/mm/compaction.c b/mm/compaction.c
index 3398ef3a55fe..66b442d20d01 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1145,7 +1145,7 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
low_pfn += compound_nr(page) - 1;

/* Successfully isolated */
- del_page_from_lru_list(page, lruvec);
+ lruvec_del_folio(lruvec, page_folio(page));
mod_node_page_state(page_pgdat(page),
NR_ISOLATED_ANON + page_is_file_lru(page),
thp_nr_pages(page));
--
2.35.3



2023-06-09 17:25:48

by Yu Zhao

[permalink] [raw]
Subject: Re: [PATCH] mm: kill [add|del]_page_to_lru_list()

On Thu, Jun 8, 2023 at 7:23 PM Kefeng Wang <[email protected]> wrote:
>
> Directly call lruvec_del_folio(), and drop unused page interfaces.
>
> Signed-off-by: Kefeng Wang <[email protected]>

Acked-by: Yu Zhao <[email protected]>

2023-06-09 17:43:10

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [PATCH] mm: kill [add|del]_page_to_lru_list()

On Fri, Jun 09, 2023 at 09:39:01AM +0800, Kefeng Wang wrote:
> Directly call lruvec_del_folio(), and drop unused page interfaces.

Convert isolate_migratepages_block() to actually use folios and
then we can kill the interfaces.

> +++ b/mm/compaction.c
> @@ -1145,7 +1145,7 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
> low_pfn += compound_nr(page) - 1;
>
> /* Successfully isolated */
> - del_page_from_lru_list(page, lruvec);
> + lruvec_del_folio(lruvec, page_folio(page));

This kind of thing is not encouraged. It's just churn and gets in
the way of actual conversions.

2023-06-12 01:34:11

by Kefeng Wang

[permalink] [raw]
Subject: Re: [PATCH] mm: kill [add|del]_page_to_lru_list()



On 2023/6/10 1:18, Matthew Wilcox wrote:
> On Fri, Jun 09, 2023 at 09:39:01AM +0800, Kefeng Wang wrote:
>> Directly call lruvec_del_folio(), and drop unused page interfaces.
>
> Convert isolate_migratepages_block() to actually use folios and
> then we can kill the interfaces.
>
>> +++ b/mm/compaction.c
>> @@ -1145,7 +1145,7 @@ isolate_migratepages_block(struct compact_control *cc, unsigned long low_pfn,
>> low_pfn += compound_nr(page) - 1;
>>
>> /* Successfully isolated */
>> - del_page_from_lru_list(page, lruvec);
>> + lruvec_del_folio(lruvec, page_folio(page));
>
> This kind of thing is not encouraged. It's just churn and gets in
> the way of actual conversions.

Sure, thanks for your suggestion, will convert
isolate_migratepages_block() firstly.
>