lkml.org 
[lkml]   [2023]   [Sep]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 02/12] hugetlb: Use a folio in free_hpage_workfn()
    Date
    From: "Matthew Wilcox (Oracle)" <willy@infradead.org>

    update_and_free_hugetlb_folio puts the memory on hpage_freelist as a folio
    so we can take it off the list as a folio.

    Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
    Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
    Reviewed-by: Muchun Song <songmuchun@bytedance.com>
    Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
    ---
    mm/hugetlb.c | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    diff --git a/mm/hugetlb.c b/mm/hugetlb.c
    index af74e83d92aa..6c6f19cc6046 100644
    --- a/mm/hugetlb.c
    +++ b/mm/hugetlb.c
    @@ -1780,22 +1780,22 @@ static void free_hpage_workfn(struct work_struct *work)
    node = llist_del_all(&hpage_freelist);

    while (node) {
    - struct page *page;
    + struct folio *folio;
    struct hstate *h;

    - page = container_of((struct address_space **)node,
    - struct page, mapping);
    + folio = container_of((struct address_space **)node,
    + struct folio, mapping);
    node = node->next;
    - page->mapping = NULL;
    + folio->mapping = NULL;
    /*
    * The VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio) in
    * folio_hstate() is going to trigger because a previous call to
    * remove_hugetlb_folio() will clear the hugetlb bit, so do
    * not use folio_hstate() directly.
    */
    - h = size_to_hstate(page_size(page));
    + h = size_to_hstate(folio_size(folio));

    - __update_and_free_hugetlb_folio(h, page_folio(page));
    + __update_and_free_hugetlb_folio(h, folio);

    cond_resched();
    }
    --
    2.41.0
    \
     
     \ /
      Last update: 2023-09-16 00:18    [W:4.741 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site