[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YyjuLd8f8/bP2CdA@monkey>
Date: Mon, 19 Sep 2022 15:33:17 -0700
From: Mike Kravetz <mike.kravetz@...cle.com>
To: Sidhartha Kumar <sidhartha.kumar@...cle.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org,
akpm@...ux-foundation.org, songmuchun@...edance.com,
willy@...radead.org, vbabka@...e.cz, william.kucharski@...cle.com,
dhowells@...hat.com, peterx@...hat.com, arnd@...db.de,
ccross@...gle.com, hughd@...gle.com, ebiederm@...ssion.com
Subject: Re: [PATCH v3 5/6] hugetlbfs: convert
hugetlb_delete_from_page_cache() to use folios
On 09/08/22 12:37, Sidhartha Kumar wrote:
> Removes the last caller of delete_from_page_cache() by converting the
> code to its folio equivalent.
Changes below look fine.
However, if this patch removes the last caller of delete_from_page_cache()
then I think it should also remove delete_from_page_cache?
--
Mike Kravetz
>
> Signed-off-by: Sidhartha Kumar <sidhartha.kumar@...cle.com>
> ---
> fs/hugetlbfs/inode.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
> index d9e08c445e2f..38920702765e 100644
> --- a/fs/hugetlbfs/inode.c
> +++ b/fs/hugetlbfs/inode.c
> @@ -364,11 +364,11 @@ static int hugetlbfs_write_end(struct file *file, struct address_space *mapping,
> return -EINVAL;
> }
>
> -static void hugetlb_delete_from_page_cache(struct page *page)
> +static void hugetlb_delete_from_page_cache(struct folio *folio)
> {
> - ClearPageDirty(page);
> - ClearPageUptodate(page);
> - delete_from_page_cache(page);
> + folio_clear_dirty(folio);
> + folio_clear_uptodate(folio);
> + filemap_remove_folio(folio);
> }
>
> /*
> @@ -562,8 +562,8 @@ static bool remove_inode_single_folio(struct hstate *h, struct inode *inode,
> * map could fail. Correspondingly, the subpool and global
> * reserve usage count can need to be adjusted.
> */
> - VM_BUG_ON(HPageRestoreReserve(&folio->page));
> - hugetlb_delete_from_page_cache(&folio->page);
> + VM_BUG_ON_FOLIO(folio_test_hugetlb_restore_reserve(folio), folio);
> + hugetlb_delete_from_page_cache(folio);
> ret = true;
> if (!truncate_op) {
> if (unlikely(hugetlb_unreserve_pages(inode, index,
> @@ -1174,7 +1174,7 @@ static int hugetlbfs_error_remove_page(struct address_space *mapping,
> struct inode *inode = mapping->host;
> pgoff_t index = page->index;
>
> - hugetlb_delete_from_page_cache(page);
> + hugetlb_delete_from_page_cache(page_folio(page));
> if (unlikely(hugetlb_unreserve_pages(inode, index, index + 1, 1)))
> hugetlb_fix_reserve_counts(inode);
>
> --
> 2.31.1
>
Powered by blists - more mailing lists