All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kairui Song <ryncsn@gmail.com>
To: linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
	"Huang, Ying" <ying.huang@intel.com>,
	Matthew Wilcox <willy@infradead.org>,
	Chris Li <chrisl@kernel.org>, Barry Song <v-songbaohua@oppo.com>,
	Ryan Roberts <ryan.roberts@arm.com>, Neil Brown <neilb@suse.de>,
	Minchan Kim <minchan@kernel.org>, Hugh Dickins <hughd@google.com>,
	David Hildenbrand <david@redhat.com>,
	Yosry Ahmed <yosryahmed@google.com>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	Kairui Song <kasong@tencent.com>
Subject: [PATCH v3 11/12] mm: drop page_index and convert folio_index to use folio
Date: Tue, 30 Apr 2024 03:11:37 +0800	[thread overview]
Message-ID: <20240429191138.34123-4-ryncsn@gmail.com> (raw)
In-Reply-To: <20240429190500.30979-1-ryncsn@gmail.com>

From: Kairui Song <kasong@tencent.com>

There are two helpers for retrieving the index within address space
for mixed usage of swap cache and page cache:

- page_index
- folio_index (wrapper of page_index)

This commit drops page_index, as we have eliminated all users, and
converts folio_index to use folio internally.

Signed-off-by: Kairui Song <kasong@tencent.com>
---
 include/linux/mm.h      | 13 -------------
 include/linux/pagemap.h |  8 ++++----
 mm/swapfile.c           |  7 +++----
 3 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 9849dfda44d4..e2718cac0fda 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -2290,19 +2290,6 @@ static inline void *folio_address(const struct folio *folio)
 	return page_address(&folio->page);
 }
 
-extern pgoff_t __page_file_index(struct page *page);
-
-/*
- * Return the pagecache index of the passed page.  Regular pagecache pages
- * use ->index whereas swapcache pages use swp_offset(->private)
- */
-static inline pgoff_t page_index(struct page *page)
-{
-	if (unlikely(PageSwapCache(page)))
-		return __page_file_index(page);
-	return page->index;
-}
-
 /*
  * Return true only if the page has been allocated with
  * ALLOC_NO_WATERMARKS and the low watermark was not
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h
index 91474dcc6cce..47171bf20b53 100644
--- a/include/linux/pagemap.h
+++ b/include/linux/pagemap.h
@@ -777,7 +777,7 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping,
 			mapping_gfp_mask(mapping));
 }
 
-#define swapcache_index(folio)	__page_file_index(&(folio)->page)
+extern pgoff_t __folio_swap_cache_index(struct folio *folio);
 
 /**
  * folio_index - File index of a folio.
@@ -792,9 +792,9 @@ static inline struct page *grab_cache_page_nowait(struct address_space *mapping,
  */
 static inline pgoff_t folio_index(struct folio *folio)
 {
-        if (unlikely(folio_test_swapcache(folio)))
-                return swapcache_index(folio);
-        return folio->index;
+	if (unlikely(folio_test_swapcache(folio)))
+		return __folio_swap_cache_index(folio);
+	return folio->index;
 }
 
 /**
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 96606580ee09..6f028262898b 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -3474,12 +3474,11 @@ struct address_space *swapcache_mapping(struct folio *folio)
 }
 EXPORT_SYMBOL_GPL(swapcache_mapping);
 
-pgoff_t __page_file_index(struct page *page)
+pgoff_t __folio_swap_cache_index(struct folio *folio)
 {
-	swp_entry_t swap = page_swap_entry(page);
-	return swp_offset(swap);
+	return swp_offset(folio->swap);
 }
-EXPORT_SYMBOL_GPL(__page_file_index);
+EXPORT_SYMBOL_GPL(__folio_swap_cache_index);
 
 /*
  * add_swap_count_continuation - called when a swap count is duplicated
-- 
2.44.0


  parent reply	other threads:[~2024-04-29 19:13 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29 19:04 [PATCH v3 00/12] mm/swap: clean up and optimize swap cache index Kairui Song
2024-04-29 19:04 ` [f2fs-dev] [PATCH v3 01/12] f2fs: drop usage of page_index Kairui Song
2024-04-29 19:04   ` Kairui Song
2024-04-29 19:04 ` [PATCH v3 02/12] nilfs2: " Kairui Song
2024-04-29 19:14   ` Matthew Wilcox
2024-04-29 19:22     ` Kairui Song
2024-04-29 19:28       ` Ryusuke Konishi
2024-04-29 19:38         ` Matthew Wilcox
2024-04-29 20:01           ` Ryusuke Konishi
2024-04-30 15:27             ` Kairui Song
2024-04-29 19:04 ` [PATCH v3 03/12] ceph: " Kairui Song
2024-04-29 19:04 ` [PATCH v3 04/12] NFS: remove nfs_page_lengthg and " Kairui Song
2024-04-29 19:04 ` [PATCH v3 05/12] cifs: drop usage of page_file_offset Kairui Song
2024-04-29 20:19   ` [EXTERNAL] " Steven French
2024-04-29 20:26     ` Matthew Wilcox
2024-04-30  2:23       ` Steven French
2024-04-30 15:40     ` Kairui Song
2024-04-29 19:04 ` [PATCH v3 06/12] afs: drop usage of folio_file_pos Kairui Song
2024-04-29 19:04 ` [PATCH v3 07/12] netfs: " Kairui Song
2024-04-29 19:11 ` [PATCH v3 08/12] nfs: " Kairui Song
2024-04-29 19:21   ` Matthew Wilcox
2024-04-29 19:42     ` Kairui Song
2024-04-29 19:11 ` [PATCH v3 09/12] mm/swap: get the swap file offset directly Kairui Song
2024-04-29 19:11 ` [PATCH v3 10/12] mm: remove page_file_offset and folio_file_pos Kairui Song
2024-04-29 19:11 ` Kairui Song [this message]
2024-04-29 19:11 ` [PATCH v3 12/12] mm/swap: reduce swap cache search space Kairui Song
2024-04-30  2:45 ` [PATCH v3 00/12] mm/swap: clean up and optimize swap cache index Huang, Ying
2024-04-30 15:27   ` Kairui Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240429191138.34123-4-ryncsn@gmail.com \
    --to=ryncsn@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=chrisl@kernel.org \
    --cc=david@redhat.com \
    --cc=hughd@google.com \
    --cc=kasong@tencent.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan@kernel.org \
    --cc=neilb@suse.de \
    --cc=ryan.roberts@arm.com \
    --cc=v-songbaohua@oppo.com \
    --cc=willy@infradead.org \
    --cc=ying.huang@intel.com \
    --cc=yosryahmed@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.