From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [RFC] mm/hmm: pass mmu_notifier_range to sync_cpu_device_pagetables Date: Sat, 8 Jun 2019 02:10:08 -0700 Message-ID: <20190608091008.GC32185@infradead.org> References: <20190608001452.7922-1-rcampbell@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190608001452.7922-1-rcampbell-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Ralph Campbell Cc: Andrea Arcangeli , linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, John Hubbard , Felix.Kuehling-5C7GfCeVMHo@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, Jerome Glisse , Jason Gunthorpe , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org T24gRnJpLCBKdW4gMDcsIDIwMTkgYXQgMDU6MTQ6NTJQTSAtMDcwMCwgUmFscGggQ2FtcGJlbGwg d3JvdGU6Cj4gSE1NIGRlZmluZXMgaXRzIG93biBzdHJ1Y3QgaG1tX3VwZGF0ZSB3aGljaCBpcyBw YXNzZWQgdG8gdGhlCj4gc3luY19jcHVfZGV2aWNlX3BhZ2V0YWJsZXMoKSBjYWxsYmFjayBmdW5j dGlvbi4gVGhpcyBpcwo+IHN1ZmZpY2llbnQgd2hlbiB0aGUgb25seSBhY3Rpb24gaXMgdG8gaW52 YWxpZGF0ZS4gSG93ZXZlciwKPiBhIGRldmljZSBtYXkgd2FudCB0byBrbm93IHRoZSByZWFzb24g Zm9yIHRoZSBpbnZhbGlkYXRpb24gYW5kCj4gYmUgYWJsZSB0byBzZWUgdGhlIG5ldyBwZXJtaXNz aW9ucyBvbiBhIHJhbmdlLCB1cGRhdGUgZGV2aWNlIGFjY2Vzcwo+IHJpZ2h0cyBvciByYW5nZSBz dGF0aXN0aWNzLiBTaW5jZSBzeW5jX2NwdV9kZXZpY2VfcGFnZXRhYmxlcygpCj4gY2FuIGJlIGNh bGxlZCBmcm9tIHRyeV90b191bm1hcCgpLCB0aGUgbW1hcF9zZW0gbWF5IG5vdCBiZSBoZWxkCj4g YW5kIGZpbmRfdm1hKCkgaXMgbm90IHNhZmUgdG8gYmUgY2FsbGVkLgo+IFBhc3MgdGhlIHN0cnVj dCBtbXVfbm90aWZpZXJfcmFuZ2UgdG8gc3luY19jcHVfZGV2aWNlX3BhZ2V0YWJsZXMoKQo+IHRv IGFsbG93IHRoZSBmdWxsIGludmFsaWRhdGlvbiBpbmZvcm1hdGlvbiB0byBiZSB1c2VkLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IFJhbHBoIENhbXBiZWxsIDxyY2FtcGJlbGxAbnZpZGlhLmNvbT4KPiAt LS0KPiAKPiBJJ20gc2VuZGluZyB0aGlzIG91dCBub3cgc2luY2Ugd2UgYXJlIHVwZGF0aW5nIG1h bnkgb2YgdGhlIEhNTSBBUElzCj4gYW5kIEkgdGhpbmsgaXQgd2lsbCBiZSB1c2VmdWwuCgpUaGlz IGlzIHRoZSByaWdodCB0aGluZyB0byBkby4gIEJ1dCB0aGUgcmVhbGx5IHJpZ2h0IHRoaW5nIGlz IHRvIGp1c3QKa2lsbCB0aGUgaG1tX21pcnJvciBBUEkgZW50aXJlbHkgYW5kIG1vdmUgdG8gbW11 X25vdGlmaWVycy4gIEF0IGxlYXN0CmZvciBub3ZlYXUgdGhpcyBhbHJlYWR5IGlzIHdheSBzaW1w bGVyLCBhbHRob3VnaCByaWdodCBub3cgaXQgZGVmZWF0cwpKYXNvbnMgcGF0Y2ggdG8gYXZvaWQg YWxsb2NhdGluZyB0aGUgc3RydWN0IGhtbSBpbiB0aGUgZmF1bHQgcGF0aC4KQnV0IGFzIHNhaWQg YmVmb3JlIHRoYXQgY2FuIGJlIGF2b2lkZWQgYnkganVzdCBraWxsaW5nIHN0cnVjdCBobW0sCndo aWNoIGZvciBtYW55IHJlYXNvbnMgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGFueXdheS4KCkkn dmUgZ290IGEgc2VyaWVzIGhlcmUsIHdoaWNoIGlzIGEgYml0IGJyb2tlbiAoZXBlY2lhbGx5IHRo ZSBsYXN0CnBhdGNoIGNhbid0IHdvcmsgYXMtaXMpLCBidXQgc2hvdWxkIGV4cGxhaW4gd2hlcmUg SSdtIHRyeWluZyB0byBoZWFkOgoKaHR0cDovL2dpdC5pbmZyYWRlYWQub3JnL3VzZXJzL2hjaC9t aXNjLmdpdC9zaG9ydGxvZy9yZWZzL2hlYWRzL2htbS1taXJyb3Itc2ltcGxpZmljYXRpb24KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWls aW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 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=-10.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT 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 CAAD5C28CC5 for ; Sat, 8 Jun 2019 09:10:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 86F892146E for ; Sat, 8 Jun 2019 09:10:17 +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="egAbhAuk" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 86F892146E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=infradead.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id EEB866B0276; Sat, 8 Jun 2019 05:10:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E75826B0278; Sat, 8 Jun 2019 05:10:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3D066B0279; Sat, 8 Jun 2019 05:10:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id 9A0F16B0276 for ; Sat, 8 Jun 2019 05:10:16 -0400 (EDT) Received: by mail-pf1-f199.google.com with SMTP id b127so3166467pfb.8 for ; Sat, 08 Jun 2019 02:10:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:date:from:to:cc:subject :message-id:references:mime-version:content-disposition:in-reply-to :user-agent; bh=jWAF5+2MrHGGuTvQFl5pQjHX1gq26Kf37occ6yCO+7s=; b=KkQHwsufgWMFod8JcN0nA5XMK9I92woLPhB2jL5cdqwLnoXwQDtfZNTje2froDKdC1 5uNzOCixMFt2VBWgGk35Oq68pr1mQo0472owbydySzcWVxeI5Kg4S9JGwelQoTWUDnoZ pxgPXUUpjM36/6bKQbNrfVq9WL93lKrBCuOoMU0VBe8+YjhAYcN0eLMGGIx869e+jHbw krx9uu7HCwHErsBOR2h9iBwpAsyM4SY1Vj5uRbAmEs3j+RXmdmqrv0Jj/MEkMn4k33Cd IQPpdLaikVcsgZN0ZmgweUlHknUcFi8wFScjnRQ5E8Eaxq8FNvx8pIw21K3X2iX6U3AC DmfQ== X-Gm-Message-State: APjAAAVMrlFOwy6cS0WiiCdsQJODmD7vWsGCwZiItBRVPreIxOeOrYNO IuH1EUo3jFDKzHDmGwkZylGyYpK51KAMfqM0abvZK8jUHrYKEt0But8laQM4PHMUmWtjTdfbG/r p0o519or7oB/UMceEScSFkBnguFBFdpAatfBq6SWyB5W5OWba0T/fdo2WjBNQti7i9A== X-Received: by 2002:a17:90a:a10c:: with SMTP id s12mr10233076pjp.49.1559985016273; Sat, 08 Jun 2019 02:10:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqy4r9vhr9da4NUNI517mIINExVxzVuIwHoP12Om0VkXeqhYOWtwFnWiNbZawHU27mMlpC7o X-Received: by 2002:a17:90a:a10c:: with SMTP id s12mr10233026pjp.49.1559985015549; Sat, 08 Jun 2019 02:10:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559985015; cv=none; d=google.com; s=arc-20160816; b=QwmjPxDDwe2W5+vD8yx31Uvxr0djeYSHhEDN63c8/PDgr+lf7Z96Wq4KXkZkrWd3cz V95R9/vkdT5umixYmYelbrxF5SF5Qh9okcp5sZKayKFD0PhCYZ8mHky1dDzh5wWupCSF gV7EscY5tZ2aQ8J+91HVEsHyCGLSqr3voiFh3vfIOnKRJvvOxDjh7p3ksb9ajZzzoJ5D z+UXnTHaI5zGk/j5g2hOFSQrwCAY0YPGPCrXx3ihRdfNleKDSU1HIrXWJpW/4QeaEMMa 30ZgWYYa3+i0o8oonqkrbrR9Ut+qKkohh/v1pZuNsERlbIwqunMZoZu2P3hihtPTEtHU R4Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=user-agent:in-reply-to:content-disposition:mime-version:references :message-id:subject:cc:to:from:date:dkim-signature; bh=jWAF5+2MrHGGuTvQFl5pQjHX1gq26Kf37occ6yCO+7s=; b=QWww+Lfn+qBCHcZCA+bYKRlLDk/FoGBgN9ya37otLd6O7Bnm+USdbpTGVBkO3jgEEr MpQEBZjfBp5ctz36sX1rJVFMqutmYiMJYvqDTXNasUM3HaxyULStP2FF+qNfZzQL8m3U noGUog5IKxMDKWZXRiaevpTj+2GNneJhFrugg+B9vu3LfStg+m9GCSOrenn2HgjtbHyw oAu2UPP7bpmSJGzt7Puj0yPhM4wNnQJ1QMSZGLzqpn0vIVbF4Q8p+IckSjWhuA2Nn3N8 GvE78/GBwTutXSricIXhXemCB7U+p78aJ/oI5ri97t+x+LBw3RtWcgWU9Xiv/fiwyNnY OG+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=egAbhAuk; spf=pass (google.com: best guess record for domain of batv+ea1dbe8c224dc30aa319+5767+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ea1dbe8c224dc30aa319+5767+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id t18si621057pfh.29.2019.06.08.02.10.15 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sat, 08 Jun 2019 02:10:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+ea1dbe8c224dc30aa319+5767+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=egAbhAuk; spf=pass (google.com: best guess record for domain of batv+ea1dbe8c224dc30aa319+5767+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ea1dbe8c224dc30aa319+5767+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=jWAF5+2MrHGGuTvQFl5pQjHX1gq26Kf37occ6yCO+7s=; b=egAbhAuk58EO8mWmsVFAI1IGL 3NGx28Wqh4mlsRk6rZ00vWqQWM9snKOqvzJ8t8oTYp3b7YpQ4FN8ZhKbrlJodVCitb+Vxfv2byRPT NBRO5aK1ycIXMfWixI6Hii44xtfrHE8G1KXTx+YJdvNlNvFPERvkjfosNOy0pOMJSRev/soMMoM/5 AvIuJh9HkQKbxAE+dz94FYEl91SIfv2c4vtlSkMXRjP+nFBN9qBOL2MNvAGJ9SoDWRIVQ+IolhzoT n7RKcTtWipcfqFeHOcfjaOXuF634N2hfWMei0HWuZlCxhD+yKfrFhXTL4UzOcxjtOOHD2M63qigYY y8qlfJgRQ==; Received: from hch by bombadil.infradead.org with local (Exim 4.92 #3 (Red Hat Linux)) id 1hZXMW-0001PM-Rs; Sat, 08 Jun 2019 09:10:08 +0000 Date: Sat, 8 Jun 2019 02:10:08 -0700 From: Christoph Hellwig To: Ralph Campbell Cc: Jerome Glisse , John Hubbard , Felix.Kuehling@amd.com, Jason Gunthorpe , linux-rdma@vger.kernel.org, linux-mm@kvack.org, Andrea Arcangeli , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org Subject: Re: [RFC] mm/hmm: pass mmu_notifier_range to sync_cpu_device_pagetables Message-ID: <20190608091008.GC32185@infradead.org> References: <20190608001452.7922-1-rcampbell@nvidia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190608001452.7922-1-rcampbell@nvidia.com> User-Agent: Mutt/1.11.4 (2019-03-13) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.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: On Fri, Jun 07, 2019 at 05:14:52PM -0700, Ralph Campbell wrote: > HMM defines its own struct hmm_update which is passed to the > sync_cpu_device_pagetables() callback function. This is > sufficient when the only action is to invalidate. However, > a device may want to know the reason for the invalidation and > be able to see the new permissions on a range, update device access > rights or range statistics. Since sync_cpu_device_pagetables() > can be called from try_to_unmap(), the mmap_sem may not be held > and find_vma() is not safe to be called. > Pass the struct mmu_notifier_range to sync_cpu_device_pagetables() > to allow the full invalidation information to be used. > > Signed-off-by: Ralph Campbell > --- > > I'm sending this out now since we are updating many of the HMM APIs > and I think it will be useful. This is the right thing to do. But the really right thing is to just kill the hmm_mirror API entirely and move to mmu_notifiers. At least for noveau this already is way simpler, although right now it defeats Jasons patch to avoid allocating the struct hmm in the fault path. But as said before that can be avoided by just killing struct hmm, which for many reasons is the right thing to do anyway. I've got a series here, which is a bit broken (epecially the last patch can't work as-is), but should explain where I'm trying to head: http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/hmm-mirror-simplification