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=-3.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no 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 8681FC433E0 for ; Wed, 23 Dec 2020 14:21:14 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id E4A492313C for ; Wed, 23 Dec 2020 14:21:13 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E4A492313C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=bytedance.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 3ED6B8D002B; Wed, 23 Dec 2020 09:21:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 39C238D0026; Wed, 23 Dec 2020 09:21:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 23D228D002B; Wed, 23 Dec 2020 09:21:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0104.hostedemail.com [216.40.44.104]) by kanga.kvack.org (Postfix) with ESMTP id 0EEFE8D0026 for ; Wed, 23 Dec 2020 09:21:13 -0500 (EST) Received: from smtpin11.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id CF2DC1191B for ; Wed, 23 Dec 2020 14:21:12 +0000 (UTC) X-FDA: 77624759184.11.mine76_540ab0e27469 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin11.hostedemail.com (Postfix) with ESMTP id ABEFB181FA8D6 for ; Wed, 23 Dec 2020 14:21:12 +0000 (UTC) X-HE-Tag: mine76_540ab0e27469 X-Filterd-Recvd-Size: 4093 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) by imf13.hostedemail.com (Postfix) with ESMTP for ; Wed, 23 Dec 2020 14:21:12 +0000 (UTC) Received: by mail-ej1-f54.google.com with SMTP id w1so23007365ejf.11 for ; Wed, 23 Dec 2020 06:21:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fO2qSmrlcvH/Mg353URhHC+az0KYy8E1wxQsqV9SPRQ=; b=W2D1X7Mt84Nb5kPnZCeMlcV6/EJ1C1Kf72P5VIvq1kMLdhbP0M0papBa7+vYe8Wi15 NPFhxbIqrr0t2ILjWlPDIBukPf+/Tm8P0Qjg82ORwp2ZDQ8kPKOOqHV6YCk+z5HoQQR2 N/sOA8wASeeWRe+9qMULmc2wP5q8YrthdFPb1yAV9z7fpBgJ+t6sqMkYt1BLGseE6Y93 WaBOyDYrQ0hCPgaVTBoTSiBOFYk2/A4CbS7rh517lN4Df+DtboPsZNaI8UW09LWwapvl TqgC9nhiFXq80Wci02GtFXgyiKs0OkkjlcnKMXffPq68JG/1AH9qixjYGvtbrzeX0dKA ophA== 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=fO2qSmrlcvH/Mg353URhHC+az0KYy8E1wxQsqV9SPRQ=; b=fNMkPhHpuAcglFOmUW2w2+fB+/bum1sMEs/aR4lUaBCCz9EhmUTCvi41WWuqBQkGjw i8O6+4csYptFVkllqahN4doyr3nqVBckNq1YV2mMA0F6mw1wZD5KdXgZqOpMpHcyN1+f WgmG3G4bnklxN68YrrH9Svt/kWcjIrm7Y3WqnBKyanzpysvCUq3CIgFfMrZbBWErnfch DTbIRj7q1WqdZumRrUZK4cuXQakZUNP+jynMb4gimqeruJQ7og2njN1hcc6u+RJXmlsj TUewQqioV6gTHni3fiAJniDahF++ejg5WdHc48qkqQPDMxhxIqQ3g6lvZdE/x77ZQznp fOvQ== X-Gm-Message-State: AOAM530IFMDvJcj4VgKPJgU3ix9Ny/PtsdRyLXFCFS3PvM1vahsOT3Rv ZgjVUUZYlvJywI4qT8BOHQRIAwUCgHcEdXrZ/Kbk X-Google-Smtp-Source: ABdhPJyDZ7RLosJL1uvsLWRc15zFRYf5SX9dmIgXydDgct+kDOAYD16d+yCEo6mFFoh8eoAMZ1hGPgz68c4IgfcSJZk= X-Received: by 2002:a17:906:d0c2:: with SMTP id bq2mr24108121ejb.1.1608733270934; Wed, 23 Dec 2020 06:21:10 -0800 (PST) MIME-Version: 1.0 References: <20201223081324.GA21558@infradead.org> In-Reply-To: <20201223081324.GA21558@infradead.org> From: Yongji Xie Date: Wed, 23 Dec 2020 22:21:00 +0800 Message-ID: Subject: Re: [External] Re: [RFC v2 01/13] mm: export zap_page_range() for driver use To: Christoph Hellwig Cc: "Michael S. Tsirkin" , Jason Wang , Stefan Hajnoczi , sgarzare@redhat.com, Parav Pandit , akpm@linux-foundation.org, Randy Dunlap , Matthew Wilcox , viro@zeniv.linux.org.uk, axboe@kernel.dk, bcrl@kvack.org, corbet@lwn.net, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, kvm@vger.kernel.org, linux-aio@kvack.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org 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 23, 2020 at 4:13 PM Christoph Hellwig wrote: > > On Wed, Dec 23, 2020 at 02:32:07PM +0800, Yongji Xie wrote: > > Now I want to map/unmap some pages in an userland vma dynamically. The > > vm_insert_page() is being used for mapping. In the unmapping case, it > > looks like the zap_page_range() does what I want. So I export it. > > Otherwise, we need some ways to notify userspace to trigger it with > > madvise(MADV_DONTNEED), which might not be able to meet all our needs. > > For example, unmapping some pages in a memory shrinker function. > > > > So I'd like to know what's the limitation to use zap_page_range() in a > > module. And if we can't use it in a module, is there any acceptable > > way to achieve that? > > I think the anser is: don't play funny games with unmapped outside of > munmap. Especially as synchronization is very hard to get right. OK, I will try to let userspace do this. Thanks, Yongji