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 X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 245B8C433B4 for ; Sat, 1 May 2021 05:13:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id C757C613CD for ; Sat, 1 May 2021 05:13:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C757C613CD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=lespinasse.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 335106B006C; Sat, 1 May 2021 01:13:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2E47F6B006E; Sat, 1 May 2021 01:13:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 186A46B0070; Sat, 1 May 2021 01:13:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0052.hostedemail.com [216.40.44.52]) by kanga.kvack.org (Postfix) with ESMTP id F38616B006C for ; Sat, 1 May 2021 01:13:31 -0400 (EDT) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id B33CB4DDC for ; Sat, 1 May 2021 05:13:31 +0000 (UTC) X-FDA: 78091494222.30.2E1F286 Received: from server.lespinasse.org (server.lespinasse.org [63.205.204.226]) by imf21.hostedemail.com (Postfix) with ESMTP id 9007AE00011D for ; Sat, 1 May 2021 05:13:27 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=lespinasse.org; i=@lespinasse.org; q=dns/txt; s=srv-14-ed; t=1619846010; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to : from; bh=y5NDAMNkqEQN+DhaIS4czZiHJbkGLVl9eO9bf3NbPes=; b=d26776rJ7CxLjaYFLa39ODat8Cb2o45ViKsb9LZHM/qVaC2LiL4y7mGErDo4zpHsOoDLo T7RjmfCbqlcUbvZAw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lespinasse.org; i=@lespinasse.org; q=dns/txt; s=srv-14-rsa; t=1619846010; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to : from; bh=y5NDAMNkqEQN+DhaIS4czZiHJbkGLVl9eO9bf3NbPes=; b=J2N9FzB4wMBqJXqsTSk+YJm0WKiz+StpiFOA3Q59lYNrNNWBwjP15sLL/PZUp6uhNROY9 PKBXHL5hoPJ3S/OyIKAQZM52pbZAA+J1ydTwLQl3mDynHDwk9zmYb+zvP2AknPL9/mGs7ie JAjTbp0REjFl7rctEh9C/AyZyDT2xwKC/jOqnX09ijjIs1V4daIauq07JgA7NOxDlXzgm8W 7DCQixl2vcjP8VDy3R+2MjRHPce/RDMl7AdfIc1UyUHVGlOXEobA4z2D+WebNfgEmcf8qSQ 9uIrdSnjxqIIYwOOyLTs27+IsxVYroeoF1WclQ45epZURRNNr3m3xV6rIWCg== Received: by server.lespinasse.org (Postfix, from userid 1000) id 4E71D160324; Fri, 30 Apr 2021 22:13:30 -0700 (PDT) Date: Fri, 30 Apr 2021 22:13:30 -0700 From: Michel Lespinasse To: Liam Howlett Cc: "maple-tree@lists.infradead.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrew Morton , Song Liu , Davidlohr Bueso , "Paul E . McKenney" , Matthew Wilcox , Laurent Dufour , David Rientjes , Axel Rasmussen , Suren Baghdasaryan , Vlastimil Babka , Rik van Riel , Peter Zijlstra , Michel Lespinasse Subject: Re: [PATCH 38/94] mm/gup: Add mm_populate_vma() for use when the vma is known Message-ID: <20210501051330.GC5188@lespinasse.org> References: <20210428153542.2814175-1-Liam.Howlett@Oracle.com> <20210428153542.2814175-39-Liam.Howlett@Oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210428153542.2814175-39-Liam.Howlett@Oracle.com> User-Agent: Mutt/1.10.1 (2018-07-13) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=lespinasse.org header.s=srv-14-ed header.b=d26776rJ; dkim=pass header.d=lespinasse.org header.s=srv-14-rsa header.b=J2N9FzB4; dmarc=pass (policy=none) header.from=lespinasse.org; spf=pass (imf21.hostedemail.com: domain of michel@lespinasse.org designates 63.205.204.226 as permitted sender) smtp.mailfrom=michel@lespinasse.org X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 9007AE00011D X-Stat-Signature: dy9gfkkzadfxcmtrkr8husg9k7pbsjbp Received-SPF: none (lespinasse.org>: No applicable sender policy available) receiver=imf21; identity=mailfrom; envelope-from=""; helo=server.lespinasse.org; client-ip=63.205.204.226 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1619846007-245659 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: On Wed, Apr 28, 2021 at 03:36:08PM +0000, Liam Howlett wrote: > When a vma is known, avoid calling mm_populate to search for the vma to > populate. > > Signed-off-by: Liam R. Howlett > --- > mm/gup.c | 20 ++++++++++++++++++++ > mm/internal.h | 4 ++++ > 2 files changed, 24 insertions(+) > > diff --git a/mm/gup.c b/mm/gup.c > index c3a17b189064..48fe98ab0729 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -1468,6 +1468,26 @@ long populate_vma_page_range(struct vm_area_struct *vma, > NULL, NULL, locked); > } > > +/* > + * mm_populate_vma() - Populate a single range in a single vma. > + * @vma: The vma to populate. > + * @start: The start address to populate > + * @end: The end address to stop populating > + * > + * Note: Ignores errors. > + */ > +void mm_populate_vma(struct vm_area_struct *vma, unsigned long start, > + unsigned long end) > +{ > + struct mm_struct *mm = current->mm; > + int locked = 1; > + > + mmap_read_lock(mm); > + populate_vma_page_range(vma, start, end, &locked); > + if (locked) > + mmap_read_unlock(mm); > +} > + This seems like a nonsensical API at first glance - VMAs that are found in the vma tree might be modified, merged, split, or freed at any time if the mmap lock is not held, so the API can not be safely used. I think this applies to maple tree vmas just as much as it did for rbtree vmas ? -- Michel "walken" Lespinasse