From patchwork Thu Oct 29 10:14:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11865973 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 55DF5139F for ; Thu, 29 Oct 2020 10:19:01 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id F3E8520791 for ; Thu, 29 Oct 2020 10:19:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="r4pJ7G6q" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F3E8520791 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2163A6B0062; Thu, 29 Oct 2020 06:19:00 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 19F696B0068; Thu, 29 Oct 2020 06:19:00 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 041046B006C; Thu, 29 Oct 2020 06:18:59 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0146.hostedemail.com [216.40.44.146]) by kanga.kvack.org (Postfix) with ESMTP id C468C6B0062 for ; Thu, 29 Oct 2020 06:18:59 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 53CB3181AEF1D for ; Thu, 29 Oct 2020 10:18:59 +0000 (UTC) X-FDA: 77424564798.19.band49_0b0cb422728c Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin19.hostedemail.com (Postfix) with ESMTP id 224031AD1B0 for ; Thu, 29 Oct 2020 10:18:59 +0000 (UTC) X-Spam-Summary: 1,0,0,bce87b2fc82642dc,d41d8cd98f00b204,batv+253bd1d761fb220e0d1c+6276+infradead.org+hch@casper.srs.infradead.org,,RULES_HIT:41:355:379:541:800:960:988:989:1260:1311:1314:1345:1359:1437:1515:1534:1538:1567:1711:1714:1730:1747:1777:1792:2393:2559:2562:3138:3139:3140:3141:3142:3743:3865:3871:4250:4321:5007:6119:6261:6653:7875:7903:10004:11026:11658:11914:12043:12160:12296:12297:12517:12519:12555:12895:12986:13069:13311:13357:13894:14181:14384:14394:14721:21080:21324:21451:21627:21795:21939:21990:30003:30012:30051:30054,0,RBL:90.155.50.34:@casper.srs.infradead.org:.lbl8.mailshell.net-62.8.15.100 64.201.201.201;04yrkn88z84fpwm37bf7rdbgx5iamycj6p9yhrbsqg4srp564ntzdj75u4a69o7.qz4qk68t61o9df5yfbbxww1jfntispht355xu577qfkq76p1a7u1afp9eti8ihh.h-lbl8.mailshell.net-223.238.255.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:neutral,Custom_rules:0:0:0,LFtime:67,LUA_SUMMARY:none X-HE-Tag: band49_0b0cb422728c X-Filterd-Recvd-Size: 2347 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf47.hostedemail.com (Postfix) with ESMTP for ; Thu, 29 Oct 2020 10:18:58 +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=Zns1ysEyW/6YEAQtEOc2r63tr9Y6svfKyny2d9qVHyM=; b=r4pJ7G6qvKdBOk+QTWN21fiCfd LpNaHk07zgUMFQpHZPBK59I1JRAJ9h+2q1m1JNgphyY6SpfCsNWW5WJVHnNqj4mzrHJLa/mcQbtM2 lPAxdBH8GmSocF07pX8G7QqLV5sRHXY5EjMbPe2dpvRtgswDN9o/vKwnGHeuYNzI2iB1TJPOC8Pl4 Vnrcklckg5tUpYBSe1k2vh/EWF38hj8BYNRzAANTbr56cV2nrW5JksH82ZTg5noEUhZE4Hknsbswj a3YD9sansNmeA1mAmfTrFXwPAexev3mgl0Jz6he4YhZw6yRo/mV83XL14bKBzZLa7wN2nSZT9GasX jBohiqzg==; Received: from 089144193201.atnat0002.highway.a1.net ([89.144.193.201] helo=localhost) by casper.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1kY51B-0004BL-O5; Thu, 29 Oct 2020 10:18:54 +0000 From: Christoph Hellwig To: Andrew Morton Cc: Dan Williams , Daniel Vetter , linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 1/2] mm: unexport follow_pte_pmd Date: Thu, 29 Oct 2020 11:14:31 +0100 Message-Id: <20201029101432.47011-2-hch@lst.de> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201029101432.47011-1-hch@lst.de> References: <20201029101432.47011-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org. See http://www.infradead.org/rpr.html 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: follow_pte_pmd is only used by the DAX code, which can't be modular. Signed-off-by: Christoph Hellwig Reviewed-by: Matthew Wilcox (Oracle) --- mm/memory.c | 1 - 1 file changed, 1 deletion(-) diff --git a/mm/memory.c b/mm/memory.c index c48f8df6e50268..00458e7b49fef8 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -4787,7 +4787,6 @@ int follow_pte_pmd(struct mm_struct *mm, unsigned long address, ptepp, pmdpp, ptlp))); return res; } -EXPORT_SYMBOL(follow_pte_pmd); /** * follow_pfn - look up PFN at a user virtual address From patchwork Thu Oct 29 10:14:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11865977 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 23F3B61C for ; Thu, 29 Oct 2020 10:21:14 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C2C362072C for ; Thu, 29 Oct 2020 10:21:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="IN3yvG5M" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C2C362072C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C48836B0062; Thu, 29 Oct 2020 06:21:12 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id BFAA26B0068; Thu, 29 Oct 2020 06:21:12 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE7E46B006C; Thu, 29 Oct 2020 06:21:12 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0236.hostedemail.com [216.40.44.236]) by kanga.kvack.org (Postfix) with ESMTP id 8125A6B0062 for ; Thu, 29 Oct 2020 06:21:12 -0400 (EDT) Received: from smtpin20.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 237EF181AEF15 for ; Thu, 29 Oct 2020 10:21:12 +0000 (UTC) X-FDA: 77424570384.20.fear32_320c8632728c Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin20.hostedemail.com (Postfix) with ESMTP id 044C6180C07AF for ; Thu, 29 Oct 2020 10:21:11 +0000 (UTC) X-Spam-Summary: 1,0,0,2e4a0812ba91432e,d41d8cd98f00b204,batv+253bd1d761fb220e0d1c+6276+infradead.org+hch@casper.srs.infradead.org,,RULES_HIT:41:69:355:379:541:800:960:966:988:989:1260:1311:1314:1345:1359:1437:1515:1535:1544:1605:1711:1730:1747:1777:1792:2196:2199:2393:2559:2562:2693:2898:3138:3139:3140:3141:3142:3743:3865:3867:3868:3871:3872:4117:4250:4321:4385:4605:5007:6119:6261:6653:7875:7903:8660:9592:10004:11026:11473:11658:11914:12043:12160:12296:12297:12438:12517:12519:12555:12683:12895:12986:13148:13161:13229:13230:13894:14096:14110:14181:14394:14721:21080:21324:21451:21627:21795:21796:21939:21990:30003:30036:30051:30054:30070,0,RBL:90.155.50.34:@casper.srs.infradead.org:.lbl8.mailshell.net-64.201.201.201 62.8.15.100;04y833innrtdho1d65r991rhtnzicyp8ihr8cwm57nudx8ibrdtpw8qquf77ua6.ckq6kchqk3h7pp36s3q7mjf8ccesnz7qbxh8qneibncqeena31nsjcipwnptbmc.r-lbl8.mailshell.net-223.238.255.100,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,D NSBL:neu X-HE-Tag: fear32_320c8632728c X-Filterd-Recvd-Size: 6004 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf16.hostedemail.com (Postfix) with ESMTP for ; Thu, 29 Oct 2020 10:21:11 +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=gP+9EBW4WYH0Q3riFZe4cnGNQ0TiUX8xEI8GXjdhsE8=; b=IN3yvG5MkkamYsxYSs+DGTZWar IX0jdVBm0lpRC0YRDk65I0+npkp6+Nh84Q7kf1kkBQaUEZu0C94OxqrXIOSuyOW/pBt+AAkOV3ZcQ peCCyPdYAQQUYpl7iLU6Po4inERjQSK6Xnpuc1XMei8s5KeOne65lJ7AhsGpO8pTQ2TZuMo8rFF9o RM+7EuxbJ99Vi+3o28Lb1LpjaT9QEk5+HEDbNmSKB5bWfR4i78t7my6JQWH2iolDDbxSbKzeHY7x/ v0n4upo4j9pDvneyPSzYok/AuRxTan3DszEsaMcZ5U00cTzCZ0Uo8Il2OdhO5Sk8w+MJ/rivrhSIq 5T3rYwwg==; Received: from 089144193201.atnat0002.highway.a1.net ([89.144.193.201] helo=localhost) by casper.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1kY53I-0004Ji-RL; Thu, 29 Oct 2020 10:21:05 +0000 From: Christoph Hellwig To: Andrew Morton Cc: Dan Williams , Daniel Vetter , linux-nvdimm@lists.01.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH 2/2] mm: simplify follow_pte{,pmd} Date: Thu, 29 Oct 2020 11:14:32 +0100 Message-Id: <20201029101432.47011-3-hch@lst.de> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201029101432.47011-1-hch@lst.de> References: <20201029101432.47011-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by casper.infradead.org. See http://www.infradead.org/rpr.html 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: Merge __follow_pte_pmd, follow_pte_pmd and follow_pte into a single follow_pte function and just pass two additional NULL arguments for the two previous follow_pte callers. Signed-off-by: Christoph Hellwig Reviewed-by: Matthew Wilcox (Oracle) Signed-off-by: Stephen Rothwell --- fs/dax.c | 9 ++++----- include/linux/mm.h | 6 +++--- mm/memory.c | 35 +++++------------------------------ 3 files changed, 12 insertions(+), 38 deletions(-) diff --git a/fs/dax.c b/fs/dax.c index 5b47834f2e1bb5..26d5dcd2d69e5c 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -810,12 +810,11 @@ static void dax_entry_mkclean(struct address_space *mapping, pgoff_t index, address = pgoff_address(index, vma); /* - * Note because we provide range to follow_pte_pmd it will - * call mmu_notifier_invalidate_range_start() on our behalf - * before taking any lock. + * Note because we provide range to follow_pte it will call + * mmu_notifier_invalidate_range_start() on our behalf before + * taking any lock. */ - if (follow_pte_pmd(vma->vm_mm, address, &range, - &ptep, &pmdp, &ptl)) + if (follow_pte(vma->vm_mm, address, &range, &ptep, &pmdp, &ptl)) continue; /* diff --git a/include/linux/mm.h b/include/linux/mm.h index ef360fe70aafcf..113b0b4fd90af5 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1655,9 +1655,9 @@ void free_pgd_range(struct mmu_gather *tlb, unsigned long addr, unsigned long end, unsigned long floor, unsigned long ceiling); int copy_page_range(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma); -int follow_pte_pmd(struct mm_struct *mm, unsigned long address, - struct mmu_notifier_range *range, - pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp); +int follow_pte(struct mm_struct *mm, unsigned long address, + struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp, + spinlock_t **ptlp); int follow_pfn(struct vm_area_struct *vma, unsigned long address, unsigned long *pfn); int follow_phys(struct vm_area_struct *vma, unsigned long address, diff --git a/mm/memory.c b/mm/memory.c index 00458e7b49fef8..fa00682f7a4312 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -4696,9 +4696,9 @@ int __pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long address) } #endif /* __PAGETABLE_PMD_FOLDED */ -static int __follow_pte_pmd(struct mm_struct *mm, unsigned long address, - struct mmu_notifier_range *range, - pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp) +int follow_pte(struct mm_struct *mm, unsigned long address, + struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp, + spinlock_t **ptlp) { pgd_t *pgd; p4d_t *p4d; @@ -4763,31 +4763,6 @@ static int __follow_pte_pmd(struct mm_struct *mm, unsigned long address, return -EINVAL; } -static inline int follow_pte(struct mm_struct *mm, unsigned long address, - pte_t **ptepp, spinlock_t **ptlp) -{ - int res; - - /* (void) is needed to make gcc happy */ - (void) __cond_lock(*ptlp, - !(res = __follow_pte_pmd(mm, address, NULL, - ptepp, NULL, ptlp))); - return res; -} - -int follow_pte_pmd(struct mm_struct *mm, unsigned long address, - struct mmu_notifier_range *range, - pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp) -{ - int res; - - /* (void) is needed to make gcc happy */ - (void) __cond_lock(*ptlp, - !(res = __follow_pte_pmd(mm, address, range, - ptepp, pmdpp, ptlp))); - return res; -} - /** * follow_pfn - look up PFN at a user virtual address * @vma: memory mapping @@ -4808,7 +4783,7 @@ int follow_pfn(struct vm_area_struct *vma, unsigned long address, if (!(vma->vm_flags & (VM_IO | VM_PFNMAP))) return ret; - ret = follow_pte(vma->vm_mm, address, &ptep, &ptl); + ret = follow_pte(vma->vm_mm, address, NULL, &ptep, NULL, &ptl); if (ret) return ret; *pfn = pte_pfn(*ptep); @@ -4829,7 +4804,7 @@ int follow_phys(struct vm_area_struct *vma, if (!(vma->vm_flags & (VM_IO | VM_PFNMAP))) goto out; - if (follow_pte(vma->vm_mm, address, &ptep, &ptl)) + if (follow_pte(vma->vm_mm, address, NULL, &ptep, NULL, &ptl)) goto out; pte = *ptep;