From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2210C6FA83 for ; Fri, 2 Sep 2022 19:48:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9B4FA8010E; Fri, 2 Sep 2022 15:47:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B3C880101; Fri, 2 Sep 2022 15:47:08 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D27818010A; Fri, 2 Sep 2022 15:47:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 259368010A for ; Fri, 2 Sep 2022 15:47:06 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id F098E160A5E for ; Fri, 2 Sep 2022 19:47:05 +0000 (UTC) X-FDA: 79868178810.26.BDC5130 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf27.hostedemail.com (Postfix) with ESMTP id 922A840094 for ; Fri, 2 Sep 2022 19:47:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Type:Content-ID:Content-Description; bh=vuuXoETAHy7ZtGGNennLbGDUoHNI3qcuFecNGvbDrOQ=; b=SbkOyw+unc1MFLscax1qFiop5M YCl/V5vu+fbhKtM490WT8eujU/5Bz2j3B/OJluLLPhxxB2eABtrtLLSLOgeibOqG9BYq3LkldpEcv o02mvK3day4A+oIozkamohG7Wmn9rOiUt5pu+odJSzy+o8LzuK2cZ5eI3qZjiSdBQ7vPa3U2gwByN xjPvyTHCKHOJT3O+kV35gu+91xyEwY/XYFU93d+j3gT3Y576/XhjYVdy82G1mQVW2MKA3scUz72zy KVkIVxj9Rtmc9GSiD2h0mnyTJJbzGwpNtsuvGYBg2dE1ZS8vPo8mbwdX+UmU+erNlaNdF8i5tWwA6 DwIzFKIw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1oUCd7-007IjJ-6Y; Fri, 02 Sep 2022 19:47:05 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton Cc: "Matthew Wilcox (Oracle)" , linux-mm@kvack.org Subject: [PATCH v2 57/57] mm: Convert lock_page_or_retry() to folio_lock_or_retry() Date: Fri, 2 Sep 2022 20:46:53 +0100 Message-Id: <20220902194653.1739778-58-willy@infradead.org> X-Mailer: git-send-email 2.37.1 In-Reply-To: <20220902194653.1739778-1-willy@infradead.org> References: <20220902194653.1739778-1-willy@infradead.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=SbkOyw+u; spf=none (imf27.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1662148025; a=rsa-sha256; cv=none; b=NMf8/l7CIbtShiM3kPbnVcWUZQ/iOTcxpD3KT6XUsBsqQ1hbN0Hr/5n2uzQqCF56+mSvPx xWewIlHK/IWhkpYEPzzZFxMH4YaDBfWsftbvyFFIMUDyDUJUSP6F6qj3+5DkYaDrx1n/zf lRo9OxUytmPXEav4WHn4hsIkO0Wwqqw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662148025; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vuuXoETAHy7ZtGGNennLbGDUoHNI3qcuFecNGvbDrOQ=; b=48MqIwA+zTuftkjNM8qvRUrVO2q4NO1vhbmNapvZsiyahFshJqF5NcCYuQeLIwlFdhd0hc Ooh0SIEe45pg5cMwPCbn1Fs76UH3ycoR/YY164blqib5ihZu5+MP2mOnusxw0L6UoTTd5+ NnQTGEWxszaKDoEIz9JWgJQbEiQe+j0= X-Rspamd-Queue-Id: 922A840094 X-Rspam-User: Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=SbkOyw+u; spf=none (imf27.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none X-Rspamd-Server: rspam09 X-Stat-Signature: xx1atp9dof99bupmcgzjufbgw4t6xf45 X-HE-Tag: 1662148025-527611 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Remove a call to compound_head() in each of the two callers. Signed-off-by: Matthew Wilcox (Oracle) --- include/linux/pagemap.h | 9 +++------ mm/memory.c | 10 +++++----- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 0178b2040ea3..1816d74c08b7 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -989,19 +989,16 @@ static inline int lock_page_killable(struct page *page) } /* - * lock_page_or_retry - Lock the page, unless this would block and the + * folio_lock_or_retry - Lock the folio, unless this would block and the * caller indicated that it can handle a retry. * * Return value and mmap_lock implications depend on flags; see * __folio_lock_or_retry(). */ -static inline bool lock_page_or_retry(struct page *page, struct mm_struct *mm, - unsigned int flags) +static inline bool folio_lock_or_retry(struct folio *folio, + struct mm_struct *mm, unsigned int flags) { - struct folio *folio; might_sleep(); - - folio = page_folio(page); return folio_trylock(folio) || __folio_lock_or_retry(folio, mm, flags); } diff --git a/mm/memory.c b/mm/memory.c index 0b5630dba38e..a844ae67f7a0 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -3612,11 +3612,11 @@ EXPORT_SYMBOL(unmap_mapping_range); */ static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf) { - struct page *page = vmf->page; + struct folio *folio = page_folio(vmf->page); struct vm_area_struct *vma = vmf->vma; struct mmu_notifier_range range; - if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) + if (!folio_lock_or_retry(folio, vma->vm_mm, vmf->flags)) return VM_FAULT_RETRY; mmu_notifier_range_init_owner(&range, MMU_NOTIFY_EXCLUSIVE, 0, vma, vma->vm_mm, vmf->address & PAGE_MASK, @@ -3626,10 +3626,10 @@ static vm_fault_t remove_device_exclusive_entry(struct vm_fault *vmf) vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, vmf->address, &vmf->ptl); if (likely(pte_same(*vmf->pte, vmf->orig_pte))) - restore_exclusive_pte(vma, page, vmf->address, vmf->pte); + restore_exclusive_pte(vma, vmf->page, vmf->address, vmf->pte); pte_unmap_unlock(vmf->pte, vmf->ptl); - unlock_page(page); + folio_unlock(folio); mmu_notifier_invalidate_range_end(&range); return 0; @@ -3829,7 +3829,7 @@ vm_fault_t do_swap_page(struct vm_fault *vmf) goto out_release; } - locked = lock_page_or_retry(page, vma->vm_mm, vmf->flags); + locked = folio_lock_or_retry(folio, vma->vm_mm, vmf->flags); if (!locked) { ret |= VM_FAULT_RETRY; -- 2.35.1