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=-15.7 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,URIBL_BLOCKED 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 6A462C71155 for ; Wed, 2 Dec 2020 18:15:44 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id B44FD206D5 for ; Wed, 2 Dec 2020 18:15:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B44FD206D5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=soleen.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id C1FBC6B0036; Wed, 2 Dec 2020 13:15:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BCF476B005C; Wed, 2 Dec 2020 13:15:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE4026B005D; Wed, 2 Dec 2020 13:15:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0212.hostedemail.com [216.40.44.212]) by kanga.kvack.org (Postfix) with ESMTP id 9A1DC6B0036 for ; Wed, 2 Dec 2020 13:15:42 -0500 (EST) Received: from smtpin02.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 58D381EFD for ; Wed, 2 Dec 2020 18:15:42 +0000 (UTC) X-FDA: 77549145324.02.quiet45_6114c52273b5 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin02.hostedemail.com (Postfix) with ESMTP id 3847810097AA1 for ; Wed, 2 Dec 2020 18:15:42 +0000 (UTC) X-HE-Tag: quiet45_6114c52273b5 X-Filterd-Recvd-Size: 5822 Received: from mail-ej1-f67.google.com (mail-ej1-f67.google.com [209.85.218.67]) by imf37.hostedemail.com (Postfix) with ESMTP for ; Wed, 2 Dec 2020 18:15:41 +0000 (UTC) Received: by mail-ej1-f67.google.com with SMTP id f23so5855753ejk.2 for ; Wed, 02 Dec 2020 10:15:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=x+HneXQ+K+FQ2kOksuqItS+SrV08BiKc6Yp1aQiOWGk=; b=Q1n1tktW/Xuci3T/uoeI5pZjQ7yIspPk1A0Vwm79WQQ6gxvDwCOvzpHxlKmaDEUWHB lkN+TX6bp51fD/gl3RGyiC/qLKyO6i5YA8s5OJv62qpgVFNlcK4QVWduOwiydW16/Zwo t+AOIRePGWHMXkZrMdhd+dI2mnxOL0IkhBpSlSPuGlX3eBHVKDhv23qXPejGofEG4qYb Ahat4dC0PoERbd2oN6KCNb56u5ERBJCnp1Egy0+3pWpEGtHWT5+u1q/B3ME3RfO7Z+3x yJVLL3W/kEUKyQb60U5+firuiUCJJ588U4hi+fn7+tpdjVe2NY3JqHdTu+tbyaoOHt1N ZglQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=x+HneXQ+K+FQ2kOksuqItS+SrV08BiKc6Yp1aQiOWGk=; b=Nb9J/HXmp6Q9VCQf8KMZDf/lsXFQJILguLnxtd6jz/yYpLDFzTXXH0PM54fZ6Daenn xW6F9HQS9c17iWCciwxk/Pox/yqTBdzN4/jWaY2F98vRt0gAl+zayWMOQLeJ50nS7Csl GfKgU182QPJ6yEgaXHlHT64GbTdlljhyQQT7p4+eV/cB2p0/qdXONAnY06YhGb2/fdVU oS8nj+zQzLY7Jth0SkGz9LOlC7spU3FX1htmzzSa8hpJ9CvX3e6r6NmjmuVpLIPNmNne 7jV0smdhfoP5/a8JEppBu5DVgy9XgpReItOeFcvAn+k+UeWIXgrzgNPXkAvGDMdqDYm+ GZUA== X-Gm-Message-State: AOAM5331XLdkuRbmoe355YXjjU/XQ3e2SgBJLNWeTsySK5qi1xKmCWOd pQHBdNkKniWCTIVRI719GhapmBCIAakBuik3Agzc1g== X-Google-Smtp-Source: ABdhPJzrX97q0CcIki5KKrZLz2XPX0PY2i+j3Vj3CT7Six7BEXBrkYvQd23KSf0TDBBYAtDHpX7+y08m1Brx+D5aK1s= X-Received: by 2002:a17:906:1458:: with SMTP id q24mr988243ejc.541.1606932940227; Wed, 02 Dec 2020 10:15:40 -0800 (PST) MIME-Version: 1.0 References: <20201202052330.474592-1-pasha.tatashin@soleen.com> <20201202052330.474592-2-pasha.tatashin@soleen.com> <20201202162215.GS1161629@iweiny-DESK2.sc.intel.com> In-Reply-To: <20201202162215.GS1161629@iweiny-DESK2.sc.intel.com> From: Pavel Tatashin Date: Wed, 2 Dec 2020 13:15:04 -0500 Message-ID: Subject: Re: [PATCH 1/6] mm/gup: perform check_dax_vmas only when FS_DAX is enabled To: Ira Weiny Cc: LKML , linux-mm , Andrew Morton , Vlastimil Babka , Michal Hocko , David Hildenbrand , Oscar Salvador , Dan Williams , Sasha Levin , Tyler Hicks , Joonsoo Kim , mike.kravetz@oracle.com, Steven Rostedt , Ingo Molnar , Jason Gunthorpe , Peter Zijlstra , Mel Gorman , Matthew Wilcox , David Rientjes , John Hubbard Content-Type: text/plain; charset="UTF-8" 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, Dec 2, 2020 at 11:22 AM Ira Weiny wrote: > > On Wed, Dec 02, 2020 at 12:23:25AM -0500, Pavel Tatashin wrote: > > There is no need to check_dax_vmas() and run through the npage loop of > > pinned pages if FS_DAX is not enabled. > > > > Add a stub check_dax_vmas() function for no-FS_DAX case. > > This looks like a good idea. > > > > > Signed-off-by: Pavel Tatashin > > --- > > mm/gup.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/mm/gup.c b/mm/gup.c > > index 98eb8e6d2609..cdb8b9eeb016 100644 > > --- a/mm/gup.c > > +++ b/mm/gup.c > > @@ -1568,6 +1568,7 @@ struct page *get_dump_page(unsigned long addr) > > #endif /* CONFIG_ELF_CORE */ > > > > #if defined(CONFIG_FS_DAX) || defined (CONFIG_CMA) > > In addition, I think it would make a lot of sense to clean up this config as > well like this: > > 08:20:10 > git di > diff --git a/mm/gup.c b/mm/gup.c > index 102877ed77a4..92cfda220aeb 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -1567,7 +1567,7 @@ struct page *get_dump_page(unsigned long addr) > } > #endif /* CONFIG_ELF_CORE */ > > -#if defined(CONFIG_FS_DAX) || defined (CONFIG_CMA) > +#ifdef CONFIG_FS_DAX > static bool check_dax_vmas(struct vm_area_struct **vmas, long nr_pages) > { > long i; > @@ -1586,6 +1586,12 @@ static bool check_dax_vmas(struct vm_area_struct **vmas, long nr_pages) > } > return false; > } > +#else > +static bool check_dax_vmas(struct vm_area_struct **vmas, long nr_pages) > +{ > + return false; > +} > +#endif /* CONFIG_FS_DAX */ > > #ifdef CONFIG_CMA > static long check_and_migrate_cma_pages(struct mm_struct *mm, > @@ -1691,6 +1697,7 @@ static long check_and_migrate_cma_pages(struct mm_struct *mm, > } > #endif /* CONFIG_CMA */ > > +#if defined(CONFIG_FS_DAX) || defined (CONFIG_CMA) > /* > * __gup_longterm_locked() is a wrapper for __get_user_pages_locked which > * allows us to process the FOLL_LONGTERM flag. > > > That makes it more clear what is going on with __gup_longterm_locked() and > places both CMA and FS_DAX code within their own blocks. Hi Ira, Thank you for your comments. I think the end result of what you are suggesting is the same for this series when __gup_longterm_locked is made common. " #if defined(CONFIG_FS_DAX) || defined (CONFIG_CMA)" mess is removed in that patch. Pasha