All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-mm@kvack.org
Subject: Re: [PATCH] secretmem: Conert page_is_secretmem() to folio_is_secretmem()
Date: Mon, 21 Aug 2023 17:48:36 +0300	[thread overview]
Message-ID: <20230821144836.GA9849@kernel.org> (raw)
In-Reply-To: <20230821141728.2536317-1-willy@infradead.org>

On Mon, Aug 21, 2023 at 03:17:28PM +0100, Matthew Wilcox (Oracle) wrote:
> The only caller already has a folio, so use it to save calling
> compound_head() in PageLRU() and remove a use of page->mapping.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>

Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org>

> ---
>  include/linux/secretmem.h | 15 +++++++--------
>  mm/gup.c                  |  2 +-
>  2 files changed, 8 insertions(+), 9 deletions(-)
> 
> diff --git a/include/linux/secretmem.h b/include/linux/secretmem.h
> index 988528b5da43..6996f1f53f14 100644
> --- a/include/linux/secretmem.h
> +++ b/include/linux/secretmem.h
> @@ -6,24 +6,23 @@
>  
>  extern const struct address_space_operations secretmem_aops;
>  
> -static inline bool page_is_secretmem(struct page *page)
> +static inline bool folio_is_secretmem(struct folio *folio)
>  {
>  	struct address_space *mapping;
>  
>  	/*
> -	 * Using page_mapping() is quite slow because of the actual call
> -	 * instruction and repeated compound_head(page) inside the
> -	 * page_mapping() function.
> +	 * Using folio_mapping() is quite slow because of the actual call
> +	 * instruction.
>  	 * We know that secretmem pages are not compound and LRU so we can
>  	 * save a couple of cycles here.
>  	 */
> -	if (PageCompound(page) || !PageLRU(page))
> +	if (folio_test_large(folio) || folio_test_lru(folio))
>  		return false;
>  
>  	mapping = (struct address_space *)
> -		((unsigned long)page->mapping & ~PAGE_MAPPING_FLAGS);
> +		((unsigned long)folio->mapping & ~PAGE_MAPPING_FLAGS);
>  
> -	if (!mapping || mapping != page->mapping)
> +	if (!mapping || mapping != folio->mapping)
>  		return false;
>  
>  	return mapping->a_ops == &secretmem_aops;
> @@ -39,7 +38,7 @@ static inline bool vma_is_secretmem(struct vm_area_struct *vma)
>  	return false;
>  }
>  
> -static inline bool page_is_secretmem(struct page *page)
> +static inline bool folio_is_secretmem(struct folio *folio)
>  {
>  	return false;
>  }
> diff --git a/mm/gup.c b/mm/gup.c
> index 6d0c24e93425..2f8a2d89fde1 100644
> --- a/mm/gup.c
> +++ b/mm/gup.c
> @@ -2600,7 +2600,7 @@ static int gup_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr,
>  		if (!folio)
>  			goto pte_unmap;
>  
> -		if (unlikely(page_is_secretmem(page))) {
> +		if (unlikely(folio_is_secretmem(folio))) {
>  			gup_put_folio(folio, 1, flags);
>  			goto pte_unmap;
>  		}
> -- 
> 2.40.1
> 
> 

-- 
Sincerely yours,
Mike.


  reply	other threads:[~2023-08-21 14:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-21 14:17 [PATCH] secretmem: Conert page_is_secretmem() to folio_is_secretmem() Matthew Wilcox (Oracle)
2023-08-21 14:48 ` Mike Rapoport [this message]
2023-08-21 15:32 ` David Hildenbrand
2023-08-21 15:53   ` Matthew Wilcox
2023-08-21 16:14     ` David Hildenbrand

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=20230821144836.GA9849@kernel.org \
    --to=rppt@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=linux-mm@kvack.org \
    --cc=willy@infradead.org \
    /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.