lkml.org 
[lkml]   [2022]   [Aug]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 3/8] hugetlb: rename remove_huge_page to hugetlb_delete_from_page_cache
    From
    Date
    On 2022/8/25 1:57, Mike Kravetz wrote:
    > remove_huge_page removes a hugetlb page from the page cache. Change
    > to hugetlb_delete_from_page_cache as it is a more descriptive name.
    > huge_add_to_page_cache is global in scope, but only deals with hugetlb
    > pages. For consistency and clarity, rename to hugetlb_add_to_page_cache.
    >
    > Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>

    LGTM with one nit below. Thanks.

    > ---
    > fs/hugetlbfs/inode.c | 21 ++++++++++-----------
    > include/linux/hugetlb.h | 2 +-
    > mm/hugetlb.c | 8 ++++----
    > 3 files changed, 15 insertions(+), 16 deletions(-)
    >
    > diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
    > index dfb735a91bbb..d98c6edbd1a4 100644
    > --- a/fs/hugetlbfs/inode.c
    > +++ b/fs/hugetlbfs/inode.c
    > @@ -364,7 +364,7 @@ static int hugetlbfs_write_end(struct file *file, struct address_space *mapping,
    > return -EINVAL;
    > }
    >
    > -static void remove_huge_page(struct page *page)
    > +static void hugetlb_delete_from_page_cache(struct page *page)
    > {
    > ClearPageDirty(page);
    > ClearPageUptodate(page);
    > @@ -478,15 +478,14 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart,
    > folio_lock(folio);
    > /*
    > * We must free the huge page and remove from page
    > - * cache (remove_huge_page) BEFORE removing the
    > - * region/reserve map (hugetlb_unreserve_pages). In
    > - * rare out of memory conditions, removal of the
    > - * region/reserve map could fail. Correspondingly,
    > - * the subpool and global reserve usage count can need
    > - * to be adjusted.
    > + * cache BEFORE removing the * region/reserve map

    s/the * region/the region/, i.e. remove extra "*".

    Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>

    Thanks,
    Miaohe Lin

    > + * (hugetlb_unreserve_pages). In rare out of memory
    > + * conditions, removal of the region/reserve map could
    > + * fail. Correspondingly, the subpool and global
    > + * reserve usage count can need to be adjusted.
    > */
    > VM_BUG_ON(HPageRestoreReserve(&folio->page));
    > - remove_huge_page(&folio->page);
    > + hugetlb_delete_from_page_cache(&folio->page);
    > freed++;
    > if (!truncate_op) {
    > if (unlikely(hugetlb_unreserve_pages(inode,
    > @@ -723,7 +722,7 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset,
    > }
    > clear_huge_page(page, addr, pages_per_huge_page(h));
    > __SetPageUptodate(page);
    > - error = huge_add_to_page_cache(page, mapping, index);
    > + error = hugetlb_add_to_page_cache(page, mapping, index);
    > if (unlikely(error)) {
    > restore_reserve_on_error(h, &pseudo_vma, addr, page);
    > put_page(page);
    > @@ -735,7 +734,7 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset,
    >
    > SetHPageMigratable(page);
    > /*
    > - * unlock_page because locked by huge_add_to_page_cache()
    > + * unlock_page because locked by hugetlb_add_to_page_cache()
    > * put_page() due to reference from alloc_huge_page()
    > */
    > unlock_page(page);
    > @@ -980,7 +979,7 @@ static int hugetlbfs_error_remove_page(struct address_space *mapping,
    > struct inode *inode = mapping->host;
    > pgoff_t index = page->index;
    >
    > - remove_huge_page(page);
    > + hugetlb_delete_from_page_cache(page);
    > if (unlikely(hugetlb_unreserve_pages(inode, index, index + 1, 1)))
    > hugetlb_fix_reserve_counts(inode);
    >
    > diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
    > index 3ec981a0d8b3..acace1a25226 100644
    > --- a/include/linux/hugetlb.h
    > +++ b/include/linux/hugetlb.h
    > @@ -665,7 +665,7 @@ struct page *alloc_huge_page_nodemask(struct hstate *h, int preferred_nid,
    > nodemask_t *nmask, gfp_t gfp_mask);
    > struct page *alloc_huge_page_vma(struct hstate *h, struct vm_area_struct *vma,
    > unsigned long address);
    > -int huge_add_to_page_cache(struct page *page, struct address_space *mapping,
    > +int hugetlb_add_to_page_cache(struct page *page, struct address_space *mapping,
    > pgoff_t idx);
    > void restore_reserve_on_error(struct hstate *h, struct vm_area_struct *vma,
    > unsigned long address, struct page *page);
    > diff --git a/mm/hugetlb.c b/mm/hugetlb.c
    > index 95c6f9a5bbf0..11c02513588c 100644
    > --- a/mm/hugetlb.c
    > +++ b/mm/hugetlb.c
    > @@ -5445,7 +5445,7 @@ static bool hugetlbfs_pagecache_present(struct hstate *h,
    > return page != NULL;
    > }
    >
    > -int huge_add_to_page_cache(struct page *page, struct address_space *mapping,
    > +int hugetlb_add_to_page_cache(struct page *page, struct address_space *mapping,
    > pgoff_t idx)
    > {
    > struct folio *folio = page_folio(page);
    > @@ -5586,7 +5586,7 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *mm,
    > new_page = true;
    >
    > if (vma->vm_flags & VM_MAYSHARE) {
    > - int err = huge_add_to_page_cache(page, mapping, idx);
    > + int err = hugetlb_add_to_page_cache(page, mapping, idx);
    > if (err) {
    > restore_reserve_on_error(h, vma, haddr, page);
    > put_page(page);
    > @@ -5993,11 +5993,11 @@ int hugetlb_mcopy_atomic_pte(struct mm_struct *dst_mm,
    >
    > /*
    > * Serialization between remove_inode_hugepages() and
    > - * huge_add_to_page_cache() below happens through the
    > + * hugetlb_add_to_page_cache() below happens through the
    > * hugetlb_fault_mutex_table that here must be hold by
    > * the caller.
    > */
    > - ret = huge_add_to_page_cache(page, mapping, idx);
    > + ret = hugetlb_add_to_page_cache(page, mapping, idx);
    > if (ret)
    > goto out_release_nounlock;
    > page_in_pagecache = true;
    >

    \
     
     \ /
      Last update: 2022-08-27 05:08    [W:4.343 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site