mbox series

[0/2] minor cleanups of include/linux/mm.h

Message ID 20210405151355.9867-1-rppt@kernel.org (mailing list archive)
Headers show
Series minor cleanups of include/linux/mm.h | expand

Message

Mike Rapoport April 5, 2021, 3:13 p.m. UTC
From: Mike Rapoport <rppt@linux.ibm.com>

Hi,

While looking at recent page_mapping_file() changes I've noticed that
page_rmapping() and page_anon_vma() could be moved from include/linux/mm.h
and we don't need two forward declarations of page_mapping().

I've also noticed that except page_mapping_file() we have somewhat similar
page_file_mapping(), which seems superfluous, but I didn't dig further to
see how one of them can be dropped. 

The patches are vs v5.12-rc5-mmots-2021-03-31-22-26.

Mike Rapoport (2):
  mm: move page_rmapping() and page_anon_vma() to mm/internal.h
  include/linux/mm.h: remove duplicated declaration of page_mapping()

 include/linux/mm.h | 4 ----
 mm/internal.h      | 3 +++
 2 files changed, 3 insertions(+), 4 deletions(-)

Comments

Matthew Wilcox April 5, 2021, 6:50 p.m. UTC | #1
On Mon, Apr 05, 2021 at 06:13:53PM +0300, Mike Rapoport wrote:
> I've also noticed that except page_mapping_file() we have somewhat similar
> page_file_mapping(), which seems superfluous, but I didn't dig further to
> see how one of them can be dropped. 

They can't ;-(  I looked at it, and they do different things.

+ * folio_file_mapping - Find the mapping this folio belongs to.
+ * @folio: The folio.
+ *
+ * For folios which are in the page cache, return the mapping that this
+ * page belongs to.  Folios in the swap cache return the mapping of the
+ * swap file or swap device where the data is stored.  This is different
+ * from the mapping returned by folio_mapping().  The only reason to
+ * use it is if, like NFS, you return 0 from ->activate_swapfile.

page_mapping_file() returns NULL for pages which are in the swap cache,
as they no longer need the dcache flushed.