linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: delete the unused put_pages_list()
@ 2024-10-27 20:14 Hugh Dickins
  2024-10-28 14:24 ` Peter Xu
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Hugh Dickins @ 2024-10-27 20:14 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Pasha Tatashin, Yang Shi, Matthew Wilcox, David Hildenbrand,
	Peter Xu, linux-kernel, linux-mm

The last user of put_pages_list() converted away from it in 6.10 commit
06c375053cef ("iommu/vt-d: add wrapper functions for page allocations"):
delete put_pages_list().

Signed-off-by: Hugh Dickins <hughd@google.com>
---
 include/linux/mm.h |  2 --
 mm/swap.c          | 31 -------------------------------
 2 files changed, 33 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index ecf63d2b0582..8524bf86dd74 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1286,8 +1286,6 @@ static inline struct folio *virt_to_folio(const void *x)
 
 void __folio_put(struct folio *folio);
 
-void put_pages_list(struct list_head *pages);
-
 void split_page(struct page *page, unsigned int order);
 void folio_copy(struct folio *dst, struct folio *src);
 int folio_mc_copy(struct folio *dst, struct folio *src);
diff --git a/mm/swap.c b/mm/swap.c
index b8e3259ea2c4..638a3f001676 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -127,37 +127,6 @@ void __folio_put(struct folio *folio)
 }
 EXPORT_SYMBOL(__folio_put);
 
-/**
- * put_pages_list() - release a list of pages
- * @pages: list of pages threaded on page->lru
- *
- * Release a list of pages which are strung together on page.lru.
- */
-void put_pages_list(struct list_head *pages)
-{
-	struct folio_batch fbatch;
-	struct folio *folio, *next;
-
-	folio_batch_init(&fbatch);
-	list_for_each_entry_safe(folio, next, pages, lru) {
-		if (!folio_put_testzero(folio))
-			continue;
-		if (folio_test_hugetlb(folio)) {
-			free_huge_folio(folio);
-			continue;
-		}
-		/* LRU flag must be clear because it's passed using the lru */
-		if (folio_batch_add(&fbatch, folio) > 0)
-			continue;
-		free_unref_folios(&fbatch);
-	}
-
-	if (fbatch.nr)
-		free_unref_folios(&fbatch);
-	INIT_LIST_HEAD(pages);
-}
-EXPORT_SYMBOL(put_pages_list);
-
 typedef void (*move_fn_t)(struct lruvec *lruvec, struct folio *folio);
 
 static void lru_add(struct lruvec *lruvec, struct folio *folio)
-- 
2.35.3


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mm: delete the unused put_pages_list()
  2024-10-27 20:14 [PATCH] mm: delete the unused put_pages_list() Hugh Dickins
@ 2024-10-28 14:24 ` Peter Xu
  2024-10-28 14:28 ` David Hildenbrand
  2024-10-28 18:37 ` Yang Shi
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Xu @ 2024-10-28 14:24 UTC (permalink / raw)
  To: Hugh Dickins
  Cc: Andrew Morton, Pasha Tatashin, Yang Shi, Matthew Wilcox,
	David Hildenbrand, linux-kernel, linux-mm

On Sun, Oct 27, 2024 at 01:14:42PM -0700, Hugh Dickins wrote:
> The last user of put_pages_list() converted away from it in 6.10 commit
> 06c375053cef ("iommu/vt-d: add wrapper functions for page allocations"):
> delete put_pages_list().
> 
> Signed-off-by: Hugh Dickins <hughd@google.com>

Acked-by: Peter Xu <peterx@redhat.com>

-- 
Peter Xu



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mm: delete the unused put_pages_list()
  2024-10-27 20:14 [PATCH] mm: delete the unused put_pages_list() Hugh Dickins
  2024-10-28 14:24 ` Peter Xu
@ 2024-10-28 14:28 ` David Hildenbrand
  2024-10-28 18:37 ` Yang Shi
  2 siblings, 0 replies; 4+ messages in thread
From: David Hildenbrand @ 2024-10-28 14:28 UTC (permalink / raw)
  To: Hugh Dickins, Andrew Morton
  Cc: Pasha Tatashin, Yang Shi, Matthew Wilcox, Peter Xu, linux-kernel,
	linux-mm

On 27.10.24 21:14, Hugh Dickins wrote:
> The last user of put_pages_list() converted away from it in 6.10 commit
> 06c375053cef ("iommu/vt-d: add wrapper functions for page allocations"):
> delete put_pages_list().

In that commit we now manually iterate over the list and call put_page() 
on each entry ... I would suspect that to perform worse ;)

In any case, the function surely is unused now.

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] mm: delete the unused put_pages_list()
  2024-10-27 20:14 [PATCH] mm: delete the unused put_pages_list() Hugh Dickins
  2024-10-28 14:24 ` Peter Xu
  2024-10-28 14:28 ` David Hildenbrand
@ 2024-10-28 18:37 ` Yang Shi
  2 siblings, 0 replies; 4+ messages in thread
From: Yang Shi @ 2024-10-28 18:37 UTC (permalink / raw)
  To: Hugh Dickins
  Cc: Andrew Morton, Pasha Tatashin, Matthew Wilcox, David Hildenbrand,
	Peter Xu, linux-kernel, linux-mm

On Sun, Oct 27, 2024 at 1:15 PM Hugh Dickins <hughd@google.com> wrote:
>
> The last user of put_pages_list() converted away from it in 6.10 commit
> 06c375053cef ("iommu/vt-d: add wrapper functions for page allocations"):
> delete put_pages_list().
>
> Signed-off-by: Hugh Dickins <hughd@google.com>

Reviewed-by: Yang Shi <shy828301@gmail.com>

> ---
>  include/linux/mm.h |  2 --
>  mm/swap.c          | 31 -------------------------------
>  2 files changed, 33 deletions(-)
>
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index ecf63d2b0582..8524bf86dd74 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -1286,8 +1286,6 @@ static inline struct folio *virt_to_folio(const void *x)
>
>  void __folio_put(struct folio *folio);
>
> -void put_pages_list(struct list_head *pages);
> -
>  void split_page(struct page *page, unsigned int order);
>  void folio_copy(struct folio *dst, struct folio *src);
>  int folio_mc_copy(struct folio *dst, struct folio *src);
> diff --git a/mm/swap.c b/mm/swap.c
> index b8e3259ea2c4..638a3f001676 100644
> --- a/mm/swap.c
> +++ b/mm/swap.c
> @@ -127,37 +127,6 @@ void __folio_put(struct folio *folio)
>  }
>  EXPORT_SYMBOL(__folio_put);
>
> -/**
> - * put_pages_list() - release a list of pages
> - * @pages: list of pages threaded on page->lru
> - *
> - * Release a list of pages which are strung together on page.lru.
> - */
> -void put_pages_list(struct list_head *pages)
> -{
> -       struct folio_batch fbatch;
> -       struct folio *folio, *next;
> -
> -       folio_batch_init(&fbatch);
> -       list_for_each_entry_safe(folio, next, pages, lru) {
> -               if (!folio_put_testzero(folio))
> -                       continue;
> -               if (folio_test_hugetlb(folio)) {
> -                       free_huge_folio(folio);
> -                       continue;
> -               }
> -               /* LRU flag must be clear because it's passed using the lru */
> -               if (folio_batch_add(&fbatch, folio) > 0)
> -                       continue;
> -               free_unref_folios(&fbatch);
> -       }
> -
> -       if (fbatch.nr)
> -               free_unref_folios(&fbatch);
> -       INIT_LIST_HEAD(pages);
> -}
> -EXPORT_SYMBOL(put_pages_list);
> -
>  typedef void (*move_fn_t)(struct lruvec *lruvec, struct folio *folio);
>
>  static void lru_add(struct lruvec *lruvec, struct folio *folio)
> --
> 2.35.3


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-10-28 18:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-27 20:14 [PATCH] mm: delete the unused put_pages_list() Hugh Dickins
2024-10-28 14:24 ` Peter Xu
2024-10-28 14:28 ` David Hildenbrand
2024-10-28 18:37 ` Yang Shi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox