]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm/memory: convert do_read_fault() to use folios
authorSidhartha Kumar <sidhartha.kumar@oracle.com>
Thu, 6 Jul 2023 16:38:47 +0000 (09:38 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 18 Aug 2023 17:12:15 +0000 (10:12 -0700)
Saves one implicit call to compound_head().

Link: https://lkml.kernel.org/r/20230706163847.403202-4-sidhartha.kumar@oracle.com
Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: ZhangPeng <zhangpeng362@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory.c

index 7bebd6909199ae871568a5f3d837160ef0a0a428..ff19719da03261d7fd5e8f30bf04e37b75c86aa1 100644 (file)
@@ -4536,6 +4536,7 @@ static inline bool should_fault_around(struct vm_fault *vmf)
 static vm_fault_t do_read_fault(struct vm_fault *vmf)
 {
        vm_fault_t ret = 0;
+       struct folio *folio;
 
        /*
         * Let's call ->map_pages() first and use ->fault() as fallback
@@ -4553,9 +4554,10 @@ static vm_fault_t do_read_fault(struct vm_fault *vmf)
                return ret;
 
        ret |= finish_fault(vmf);
-       unlock_page(vmf->page);
+       folio = page_folio(vmf->page);
+       folio_unlock(folio);
        if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | VM_FAULT_RETRY)))
-               put_page(vmf->page);
+               folio_put(folio);
        return ret;
 }