From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Gunthorpe Subject: Re: [PATCH hmm 05/15] RDMA/odp: Use mmu_range_notifier_insert() Date: Mon, 4 Nov 2019 16:25:00 -0400 Message-ID: <20191104202500.GA19383@ziepe.ca> References: <20191015181242.8343-1-jgg@ziepe.ca> <20191015181242.8343-6-jgg@ziepe.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20191015181242.8343-6-jgg-uk2M96/98Pc@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: Jerome Glisse , Ralph Campbell , John Hubbard , Felix.Kuehling-5C7GfCeVMHo@public.gmane.org Cc: Andrea Arcangeli , linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Ben Skeggs T24gVHVlLCBPY3QgMTUsIDIwMTkgYXQgMDM6MTI6MzJQTSAtMDMwMCwgSmFzb24gR3VudGhvcnBl IHdyb3RlOgo+IEBAIC0yNTAsMjYgKzg1LDE1IEBAIHN0YXRpYyBpbmxpbmUgaW50IGliX2luaXRf dW1lbV9vZHAoc3RydWN0IGliX3VtZW1fb2RwICp1bWVtX29kcCkKPiAgCQkJcmV0ID0gLUVOT01F TTsKPiAgCQkJZ290byBvdXRfcGFnZV9saXN0Owo+ICAJCX0KPiAtCX0KPiAgCj4gLQltbiA9IG1t dV9ub3RpZmllcl9nZXQoJmliX3VtZW1fbm90aWZpZXJzLCB1bWVtX29kcC0+dW1lbS5vd25pbmdf bW0pOwo+IC0JaWYgKElTX0VSUihtbikpIHsKPiAtCQlyZXQgPSBQVFJfRVJSKG1uKTsKPiAtCQln b3RvIG91dF9kbWFfbGlzdDsKPiAtCX0KPiAtCXVtZW1fb2RwLT5wZXJfbW0gPSBwZXJfbW0gPQo+ IC0JCWNvbnRhaW5lcl9vZihtbiwgc3RydWN0IGliX3Vjb250ZXh0X3Blcl9tbSwgbW4pOwo+IC0K PiAtCW11dGV4X2luaXQoJnVtZW1fb2RwLT51bWVtX211dGV4KTsKPiAtCWluaXRfY29tcGxldGlv bigmdW1lbV9vZHAtPm5vdGlmaWVyX2NvbXBsZXRpb24pOwo+ICsJCXJldCA9IG1tdV9yYW5nZV9u b3RpZmllcl9pbnNlcnQoJnVtZW1fb2RwLT5ub3RpZmllciwgc3RhcnQsCj4gKwkJCQkJCWVuZCAt IHN0YXJ0LCBjdXJyZW50LT5tbSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJZ290byBvdXRfZG1hX2xp c3Q7CgpJdCB0dXJucyBvdXQgJ2N1cnJlbnQnIGNhbid0IGJlIHVzZWQgaGVyZSBhcyB0aGlzIGNh biBiZSBjYWxsZWQgZnJvbSB0aGUKcGFnZSBmYXVsdCB3b3JrIHF1ZXVlIGFuZCBzaG91bGQgYmUg J3VtZW1fb2RwLT51bWVtLm93bmluZ19tbScKClRoZSBzYW1lIHByb2JsZW0gYXBwbGllcyB0byB0 aGUgdGdpZCBhIGZldyBsaW5lcyBiZWxvdwoKSXQgYWxzbyBzZWVtcyB0aGVyZSBpcyBhIHByZS1l eGlzdGluZyBwcm9ibGVtIGhlcmUgYXMgdGhpcyBjb2RlCmRvZXNuJ3QgZ3VhcmVudGVlIHRvIGhh dmUgYSBtbWdldCgpIG9uIHRoZSBtbSBmb3IgdGhlIG5vbi1jdXJyZW50IGNhc2UKd2hlbiBpdCBj YWxsZWQgbW11X25vdGlmaWVyX2dldCgpIG9yIG5vdwptbXVfcmFuZ2Vfbm90aWZpZXJfaW5zZXJ0 KCkuIAoKSSdsbCBmaXggdGhpcyBpbiBhIGRlZGljYXRlZCBwYXRjaC4KClRoaXMgaW5jcmVtZW50 YWwgc29ydHMgaXQgb3V0LCBJJ2xsIHNxdWFzaCBpdCBpbnRvIHRoaXMgcGF0Y2g6CgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbV9vZHAuYyBiL2RyaXZlcnMvaW5maW5p YmFuZC9jb3JlL3VtZW1fb2RwLmMKaW5kZXggNjEzMmI4MTI3ZTg0MzUuLjA3NjhiYjYwY2UxNjYy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtX29kcC5jCisrKyBiL2Ry aXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW1fb2RwLmMKQEAgLTg3LDEyICs4NywxMCBAQCBzdGF0 aWMgaW5saW5lIGludCBpYl9pbml0X3VtZW1fb2RwKHN0cnVjdCBpYl91bWVtX29kcCAqdW1lbV9v ZHApCiAJCX0KIAogCQlyZXQgPSBtbXVfcmFuZ2Vfbm90aWZpZXJfaW5zZXJ0KCZ1bWVtX29kcC0+ bm90aWZpZXIsIHN0YXJ0LAotCQkJCQkJZW5kIC0gc3RhcnQsIGN1cnJlbnQtPm1tKTsKKwkJCQkJ CWVuZCAtIHN0YXJ0LAorCQkJCQkJdW1lbV9vZHAtPnVtZW0ub3duaW5nX21tKTsKIAkJaWYgKHJl dCkKIAkJCWdvdG8gb3V0X2RtYV9saXN0OwotCi0JCXVtZW1fb2RwLT50Z2lkID0KLQkJCWdldF90 YXNrX3BpZChjdXJyZW50LT5ncm91cF9sZWFkZXIsIFBJRFRZUEVfUElEKTsKIAl9CiAKIAlyZXR1 cm4gMDsKQEAgLTE0MCw4ICsxMzgsMTAgQEAgaWJfdW1lbV9vZHBfYWxsb2NfaW1wbGljaXQoc3Ry dWN0IGliX3VkYXRhICp1ZGF0YSwgaW50IGFjY2VzcykKIAl1bWVtX29kcC0+aXNfaW1wbGljaXRf b2RwID0gMTsKIAl1bWVtX29kcC0+cGFnZV9zaGlmdCA9IFBBR0VfU0hJRlQ7CiAKKwl1bWVtX29k cC0+dGdpZCA9IGdldF90YXNrX3BpZChjdXJyZW50LT5ncm91cF9sZWFkZXIsIFBJRFRZUEVfUElE KTsKIAlyZXQgPSBpYl9pbml0X3VtZW1fb2RwKHVtZW1fb2RwKTsKIAlpZiAocmV0KSB7CisJCXB1 dF9waWQodW1lbV9vZHAtPnRnaWQpOwogCQlrZnJlZSh1bWVtX29kcCk7CiAJCXJldHVybiBFUlJf UFRSKHJldCk7CiAJfQpAQCAtMTg1LDggKzE4NSwxMCBAQCBpYl91bWVtX29kcF9hbGxvY19jaGls ZChzdHJ1Y3QgaWJfdW1lbV9vZHAgKnJvb3QsIHVuc2lnbmVkIGxvbmcgYWRkciwKIAlvZHBfZGF0 YS0+cGFnZV9zaGlmdCA9IFBBR0VfU0hJRlQ7CiAJb2RwX2RhdGEtPm5vdGlmaWVyLm9wcyA9IG9w czsKIAorCW9kcF9kYXRhLT50Z2lkID0gZ2V0X3BpZChyb290LT50Z2lkKTsKIAlyZXQgPSBpYl9p bml0X3VtZW1fb2RwKG9kcF9kYXRhKTsKIAlpZiAocmV0KSB7CisJCXB1dF9waWQob2RwX2RhdGEt PnRnaWQpOwogCQlrZnJlZShvZHBfZGF0YSk7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQpA QCAtMjU0LDExICsyNTYsMTQgQEAgc3RydWN0IGliX3VtZW1fb2RwICppYl91bWVtX29kcF9nZXQo c3RydWN0IGliX3VkYXRhICp1ZGF0YSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQl1cF9yZWFkKCZt bS0+bW1hcF9zZW0pOwogCX0KIAorCXVtZW1fb2RwLT50Z2lkID0gZ2V0X3Rhc2tfcGlkKGN1cnJl bnQtPmdyb3VwX2xlYWRlciwgUElEVFlQRV9QSUQpOwogCXJldCA9IGliX2luaXRfdW1lbV9vZHAo dW1lbV9vZHApOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyX2ZyZWU7CisJCWdvdG8gZXJyX3B1dF9w aWQ7CiAJcmV0dXJuIHVtZW1fb2RwOwogCitlcnJfcHV0X3BpZDoKKwlwdXRfcGlkKHVtZW1fb2Rw LT50Z2lkKTsKIGVycl9mcmVlOgogCWtmcmVlKHVtZW1fb2RwKTsKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng= 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=-5.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, 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 3A260C010A2 for ; Tue, 5 Nov 2019 12:43:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A2EE217F4 for ; Tue, 5 Nov 2019 12:43:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A2EE217F4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A43986EA37; Tue, 5 Nov 2019 12:43:47 +0000 (UTC) Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) by gabe.freedesktop.org (Postfix) with ESMTPS id BD8556E85E for ; Mon, 4 Nov 2019 20:25:02 +0000 (UTC) Received: by mail-qk1-x742.google.com with SMTP id i19so9839204qki.2 for ; Mon, 04 Nov 2019 12:25:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=wfX7MWPK2mXvXsnlqpoXJ9gVTBzlydNtygslKz1zYXc=; b=Vb/3xl+IM+8q7RA+tRnzh6/Y5dFEa4bV4tD5uCs1pMcXsk8hkkfe4aGgUVYRiIcLgL nexi5akKxqcwIxkAElIVIbRPpzSJNmNLqtzGn9L7j0vcc0QFo+pP+JtXTRuKEpfpg6WG JUCDs059eOYSjuIMuEjk2mohUnKpBETxKJ9QUvmwbuHhb4ONjOCnm6hWt+B0yPUo0qY+ 7ySuhJcNGwyuC3GAaiYu03XK1r/zGopnu72WYxR1xCMSEUZ1s96hi1RkXm+7atB8CnKf 24qJ7Gvh792uwGdUUBoFNSv1qw098NkTAAIbt7J8fYoxEVl0z6UhFVfjSyQ+OKWPXTwO jO/Q== X-Gm-Message-State: APjAAAVeX64YF7QlGA+Yy8AfR6kuy36QBmtSyV2KuVwTkSiHPyIr7omB S1SI8VgZTQyrLdg+htYgGjqDXQ== X-Google-Smtp-Source: APXvYqxgNGF3cXksanX/E/C8HqgGn5+TVBnu52RjRVopu16Kv6kjyL+U9vqqnb2baD1bHGbzMrjKsA== X-Received: by 2002:a37:94e:: with SMTP id 75mr15364499qkj.49.1572899101609; Mon, 04 Nov 2019 12:25:01 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-162-113-180.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.113.180]) by smtp.gmail.com with ESMTPSA id d2sm9640372qkg.77.2019.11.04.12.25.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Nov 2019 12:25:01 -0800 (PST) Received: from jgg by mlx.ziepe.ca with local (Exim 4.90_1) (envelope-from ) id 1iRiuK-00055e-9y; Mon, 04 Nov 2019 16:25:00 -0400 Date: Mon, 4 Nov 2019 16:25:00 -0400 From: Jason Gunthorpe To: Jerome Glisse , Ralph Campbell , John Hubbard , Felix.Kuehling@amd.com Subject: Re: [PATCH hmm 05/15] RDMA/odp: Use mmu_range_notifier_insert() Message-ID: <20191104202500.GA19383@ziepe.ca> References: <20191015181242.8343-1-jgg@ziepe.ca> <20191015181242.8343-6-jgg@ziepe.ca> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191015181242.8343-6-jgg@ziepe.ca> User-Agent: Mutt/1.9.4 (2018-02-28) X-Mailman-Approved-At: Tue, 05 Nov 2019 12:43:46 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=wfX7MWPK2mXvXsnlqpoXJ9gVTBzlydNtygslKz1zYXc=; b=a8hSItnOZbtn6sMoihfhZuCetsEimfTI974lkvFhLKCg3HejeAO31tVnnKuLf8OBzG 4cchusxnrVjItFjaeoTqIrOvpcpNtbGL4HmtHSBYgaxArSbGCtmfHGie9wUvHBWBFCtR XDyhVJbgXG8KzNN7ekl9KMw5ZH7nR9fuIHVYFo3h/exFmvg9P24/oLAxyHrpy4Es/45s IqMUO7VIWM6EhQ7FH+tMQqucsVqJZJSx1KHeKTBcdhQbCjPwSIYCdzJN/likNaHlaSTx mvtuSLMteIPqZ8UG6y1xP8DW5n0eiCDpBRZvheCN9DH/7l9lUG76EBGzGGsVNnXnrdNf AnxA== X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrea Arcangeli , linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, linux-mm@kvack.org, dri-devel@lists.freedesktop.org, Ben Skeggs Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" Message-ID: <20191104202500.DwzDm6Dlcq7IbqbC6NXY9YD_nrhsegexm3UZrsniHGQ@z> T24gVHVlLCBPY3QgMTUsIDIwMTkgYXQgMDM6MTI6MzJQTSAtMDMwMCwgSmFzb24gR3VudGhvcnBl IHdyb3RlOgo+IEBAIC0yNTAsMjYgKzg1LDE1IEBAIHN0YXRpYyBpbmxpbmUgaW50IGliX2luaXRf dW1lbV9vZHAoc3RydWN0IGliX3VtZW1fb2RwICp1bWVtX29kcCkKPiAgCQkJcmV0ID0gLUVOT01F TTsKPiAgCQkJZ290byBvdXRfcGFnZV9saXN0Owo+ICAJCX0KPiAtCX0KPiAgCj4gLQltbiA9IG1t dV9ub3RpZmllcl9nZXQoJmliX3VtZW1fbm90aWZpZXJzLCB1bWVtX29kcC0+dW1lbS5vd25pbmdf bW0pOwo+IC0JaWYgKElTX0VSUihtbikpIHsKPiAtCQlyZXQgPSBQVFJfRVJSKG1uKTsKPiAtCQln b3RvIG91dF9kbWFfbGlzdDsKPiAtCX0KPiAtCXVtZW1fb2RwLT5wZXJfbW0gPSBwZXJfbW0gPQo+ IC0JCWNvbnRhaW5lcl9vZihtbiwgc3RydWN0IGliX3Vjb250ZXh0X3Blcl9tbSwgbW4pOwo+IC0K PiAtCW11dGV4X2luaXQoJnVtZW1fb2RwLT51bWVtX211dGV4KTsKPiAtCWluaXRfY29tcGxldGlv bigmdW1lbV9vZHAtPm5vdGlmaWVyX2NvbXBsZXRpb24pOwo+ICsJCXJldCA9IG1tdV9yYW5nZV9u b3RpZmllcl9pbnNlcnQoJnVtZW1fb2RwLT5ub3RpZmllciwgc3RhcnQsCj4gKwkJCQkJCWVuZCAt IHN0YXJ0LCBjdXJyZW50LT5tbSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJZ290byBvdXRfZG1hX2xp c3Q7CgpJdCB0dXJucyBvdXQgJ2N1cnJlbnQnIGNhbid0IGJlIHVzZWQgaGVyZSBhcyB0aGlzIGNh biBiZSBjYWxsZWQgZnJvbSB0aGUKcGFnZSBmYXVsdCB3b3JrIHF1ZXVlIGFuZCBzaG91bGQgYmUg J3VtZW1fb2RwLT51bWVtLm93bmluZ19tbScKClRoZSBzYW1lIHByb2JsZW0gYXBwbGllcyB0byB0 aGUgdGdpZCBhIGZldyBsaW5lcyBiZWxvdwoKSXQgYWxzbyBzZWVtcyB0aGVyZSBpcyBhIHByZS1l eGlzdGluZyBwcm9ibGVtIGhlcmUgYXMgdGhpcyBjb2RlCmRvZXNuJ3QgZ3VhcmVudGVlIHRvIGhh dmUgYSBtbWdldCgpIG9uIHRoZSBtbSBmb3IgdGhlIG5vbi1jdXJyZW50IGNhc2UKd2hlbiBpdCBj YWxsZWQgbW11X25vdGlmaWVyX2dldCgpIG9yIG5vdwptbXVfcmFuZ2Vfbm90aWZpZXJfaW5zZXJ0 KCkuIAoKSSdsbCBmaXggdGhpcyBpbiBhIGRlZGljYXRlZCBwYXRjaC4KClRoaXMgaW5jcmVtZW50 YWwgc29ydHMgaXQgb3V0LCBJJ2xsIHNxdWFzaCBpdCBpbnRvIHRoaXMgcGF0Y2g6CgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9pbmZpbmliYW5kL2NvcmUvdW1lbV9vZHAuYyBiL2RyaXZlcnMvaW5maW5p YmFuZC9jb3JlL3VtZW1fb2RwLmMKaW5kZXggNjEzMmI4MTI3ZTg0MzUuLjA3NjhiYjYwY2UxNjYy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2luZmluaWJhbmQvY29yZS91bWVtX29kcC5jCisrKyBiL2Ry aXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW1fb2RwLmMKQEAgLTg3LDEyICs4NywxMCBAQCBzdGF0 aWMgaW5saW5lIGludCBpYl9pbml0X3VtZW1fb2RwKHN0cnVjdCBpYl91bWVtX29kcCAqdW1lbV9v ZHApCiAJCX0KIAogCQlyZXQgPSBtbXVfcmFuZ2Vfbm90aWZpZXJfaW5zZXJ0KCZ1bWVtX29kcC0+ bm90aWZpZXIsIHN0YXJ0LAotCQkJCQkJZW5kIC0gc3RhcnQsIGN1cnJlbnQtPm1tKTsKKwkJCQkJ CWVuZCAtIHN0YXJ0LAorCQkJCQkJdW1lbV9vZHAtPnVtZW0ub3duaW5nX21tKTsKIAkJaWYgKHJl dCkKIAkJCWdvdG8gb3V0X2RtYV9saXN0OwotCi0JCXVtZW1fb2RwLT50Z2lkID0KLQkJCWdldF90 YXNrX3BpZChjdXJyZW50LT5ncm91cF9sZWFkZXIsIFBJRFRZUEVfUElEKTsKIAl9CiAKIAlyZXR1 cm4gMDsKQEAgLTE0MCw4ICsxMzgsMTAgQEAgaWJfdW1lbV9vZHBfYWxsb2NfaW1wbGljaXQoc3Ry dWN0IGliX3VkYXRhICp1ZGF0YSwgaW50IGFjY2VzcykKIAl1bWVtX29kcC0+aXNfaW1wbGljaXRf b2RwID0gMTsKIAl1bWVtX29kcC0+cGFnZV9zaGlmdCA9IFBBR0VfU0hJRlQ7CiAKKwl1bWVtX29k cC0+dGdpZCA9IGdldF90YXNrX3BpZChjdXJyZW50LT5ncm91cF9sZWFkZXIsIFBJRFRZUEVfUElE KTsKIAlyZXQgPSBpYl9pbml0X3VtZW1fb2RwKHVtZW1fb2RwKTsKIAlpZiAocmV0KSB7CisJCXB1 dF9waWQodW1lbV9vZHAtPnRnaWQpOwogCQlrZnJlZSh1bWVtX29kcCk7CiAJCXJldHVybiBFUlJf UFRSKHJldCk7CiAJfQpAQCAtMTg1LDggKzE4NSwxMCBAQCBpYl91bWVtX29kcF9hbGxvY19jaGls ZChzdHJ1Y3QgaWJfdW1lbV9vZHAgKnJvb3QsIHVuc2lnbmVkIGxvbmcgYWRkciwKIAlvZHBfZGF0 YS0+cGFnZV9zaGlmdCA9IFBBR0VfU0hJRlQ7CiAJb2RwX2RhdGEtPm5vdGlmaWVyLm9wcyA9IG9w czsKIAorCW9kcF9kYXRhLT50Z2lkID0gZ2V0X3BpZChyb290LT50Z2lkKTsKIAlyZXQgPSBpYl9p bml0X3VtZW1fb2RwKG9kcF9kYXRhKTsKIAlpZiAocmV0KSB7CisJCXB1dF9waWQob2RwX2RhdGEt PnRnaWQpOwogCQlrZnJlZShvZHBfZGF0YSk7CiAJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQpA QCAtMjU0LDExICsyNTYsMTQgQEAgc3RydWN0IGliX3VtZW1fb2RwICppYl91bWVtX29kcF9nZXQo c3RydWN0IGliX3VkYXRhICp1ZGF0YSwgdW5zaWduZWQgbG9uZyBhZGRyLAogCQl1cF9yZWFkKCZt bS0+bW1hcF9zZW0pOwogCX0KIAorCXVtZW1fb2RwLT50Z2lkID0gZ2V0X3Rhc2tfcGlkKGN1cnJl bnQtPmdyb3VwX2xlYWRlciwgUElEVFlQRV9QSUQpOwogCXJldCA9IGliX2luaXRfdW1lbV9vZHAo dW1lbV9vZHApOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyX2ZyZWU7CisJCWdvdG8gZXJyX3B1dF9w aWQ7CiAJcmV0dXJuIHVtZW1fb2RwOwogCitlcnJfcHV0X3BpZDoKKwlwdXRfcGlkKHVtZW1fb2Rw LT50Z2lkKTsKIGVycl9mcmVlOgogCWtmcmVlKHVtZW1fb2RwKTsKIAlyZXR1cm4gRVJSX1BUUihy ZXQpOwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng= 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=-5.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable 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 17443CA9ED3 for ; Mon, 4 Nov 2019 20:25:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E10022089C for ; Mon, 4 Nov 2019 20:25:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="a8hSItnO" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728377AbfKDUZE (ORCPT ); Mon, 4 Nov 2019 15:25:04 -0500 Received: from mail-qk1-f194.google.com ([209.85.222.194]:41549 "EHLO mail-qk1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728322AbfKDUZE (ORCPT ); Mon, 4 Nov 2019 15:25:04 -0500 Received: by mail-qk1-f194.google.com with SMTP id m125so18928110qkd.8 for ; Mon, 04 Nov 2019 12:25:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=wfX7MWPK2mXvXsnlqpoXJ9gVTBzlydNtygslKz1zYXc=; b=a8hSItnOZbtn6sMoihfhZuCetsEimfTI974lkvFhLKCg3HejeAO31tVnnKuLf8OBzG 4cchusxnrVjItFjaeoTqIrOvpcpNtbGL4HmtHSBYgaxArSbGCtmfHGie9wUvHBWBFCtR XDyhVJbgXG8KzNN7ekl9KMw5ZH7nR9fuIHVYFo3h/exFmvg9P24/oLAxyHrpy4Es/45s IqMUO7VIWM6EhQ7FH+tMQqucsVqJZJSx1KHeKTBcdhQbCjPwSIYCdzJN/likNaHlaSTx mvtuSLMteIPqZ8UG6y1xP8DW5n0eiCDpBRZvheCN9DH/7l9lUG76EBGzGGsVNnXnrdNf AnxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=wfX7MWPK2mXvXsnlqpoXJ9gVTBzlydNtygslKz1zYXc=; b=PDKxf2l8I0Lb3eXEnUPlk14fr+tm3Ir+YQ+Tc5+KWHHhWVb/CFY1YThh7RN+GQwB6s 5YBas+kGhWIpbFjyvJ9KX5Pc8KR2+G9RrVYy1yOoQkqxsl11B1j6F64Vbye1kjm/IiDZ HZalqhSFw5RAuEiAdVd0dCqCc1cL+BYR/LFx2mnOGociV84KvoBrZREdEqCCHCcAGhnh ADds7rn5QgeQcUwdPw+/PA8x/FOqaHc4UGy9hKTD/M/VZa7HeRMrk1HF5ZFgocEqPKwa 58TEd/qOP1HzG74F6jUA07inypUiEjScvyJALUCSjNlWHgPUJOe8AZOoaRfgiHZRl9OB i6BQ== X-Gm-Message-State: APjAAAWU8zxe9gdXC3eU5cIM+vuxm2ZrItGlqSF9hN1Ki6z0+fRNox29 K0ik1igoiCIelPFxrDfZFkpvlg== X-Google-Smtp-Source: APXvYqxgNGF3cXksanX/E/C8HqgGn5+TVBnu52RjRVopu16Kv6kjyL+U9vqqnb2baD1bHGbzMrjKsA== X-Received: by 2002:a37:94e:: with SMTP id 75mr15364499qkj.49.1572899101609; Mon, 04 Nov 2019 12:25:01 -0800 (PST) Received: from ziepe.ca (hlfxns017vw-142-162-113-180.dhcp-dynamic.fibreop.ns.bellaliant.net. [142.162.113.180]) by smtp.gmail.com with ESMTPSA id d2sm9640372qkg.77.2019.11.04.12.25.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Nov 2019 12:25:01 -0800 (PST) Received: from jgg by mlx.ziepe.ca with local (Exim 4.90_1) (envelope-from ) id 1iRiuK-00055e-9y; Mon, 04 Nov 2019 16:25:00 -0400 Date: Mon, 4 Nov 2019 16:25:00 -0400 From: Jason Gunthorpe To: Jerome Glisse , Ralph Campbell , John Hubbard , Felix.Kuehling@amd.com Cc: linux-rdma@vger.kernel.org, linux-mm@kvack.org, Andrea Arcangeli , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, Ben Skeggs Subject: Re: [PATCH hmm 05/15] RDMA/odp: Use mmu_range_notifier_insert() Message-ID: <20191104202500.GA19383@ziepe.ca> References: <20191015181242.8343-1-jgg@ziepe.ca> <20191015181242.8343-6-jgg@ziepe.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191015181242.8343-6-jgg@ziepe.ca> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org On Tue, Oct 15, 2019 at 03:12:32PM -0300, Jason Gunthorpe wrote: > @@ -250,26 +85,15 @@ static inline int ib_init_umem_odp(struct ib_umem_odp *umem_odp) > ret = -ENOMEM; > goto out_page_list; > } > - } > > - mn = mmu_notifier_get(&ib_umem_notifiers, umem_odp->umem.owning_mm); > - if (IS_ERR(mn)) { > - ret = PTR_ERR(mn); > - goto out_dma_list; > - } > - umem_odp->per_mm = per_mm = > - container_of(mn, struct ib_ucontext_per_mm, mn); > - > - mutex_init(&umem_odp->umem_mutex); > - init_completion(&umem_odp->notifier_completion); > + ret = mmu_range_notifier_insert(&umem_odp->notifier, start, > + end - start, current->mm); > + if (ret) > + goto out_dma_list; It turns out 'current' can't be used here as this can be called from the page fault work queue and should be 'umem_odp->umem.owning_mm' The same problem applies to the tgid a few lines below It also seems there is a pre-existing problem here as this code doesn't guarentee to have a mmget() on the mm for the non-current case when it called mmu_notifier_get() or now mmu_range_notifier_insert(). I'll fix this in a dedicated patch. This incremental sorts it out, I'll squash it into this patch: diff --git a/drivers/infiniband/core/umem_odp.c b/drivers/infiniband/core/umem_odp.c index 6132b8127e8435..0768bb60ce1662 100644 --- a/drivers/infiniband/core/umem_odp.c +++ b/drivers/infiniband/core/umem_odp.c @@ -87,12 +87,10 @@ static inline int ib_init_umem_odp(struct ib_umem_odp *umem_odp) } ret = mmu_range_notifier_insert(&umem_odp->notifier, start, - end - start, current->mm); + end - start, + umem_odp->umem.owning_mm); if (ret) goto out_dma_list; - - umem_odp->tgid = - get_task_pid(current->group_leader, PIDTYPE_PID); } return 0; @@ -140,8 +138,10 @@ ib_umem_odp_alloc_implicit(struct ib_udata *udata, int access) umem_odp->is_implicit_odp = 1; umem_odp->page_shift = PAGE_SHIFT; + umem_odp->tgid = get_task_pid(current->group_leader, PIDTYPE_PID); ret = ib_init_umem_odp(umem_odp); if (ret) { + put_pid(umem_odp->tgid); kfree(umem_odp); return ERR_PTR(ret); } @@ -185,8 +185,10 @@ ib_umem_odp_alloc_child(struct ib_umem_odp *root, unsigned long addr, odp_data->page_shift = PAGE_SHIFT; odp_data->notifier.ops = ops; + odp_data->tgid = get_pid(root->tgid); ret = ib_init_umem_odp(odp_data); if (ret) { + put_pid(odp_data->tgid); kfree(odp_data); return ERR_PTR(ret); } @@ -254,11 +256,14 @@ struct ib_umem_odp *ib_umem_odp_get(struct ib_udata *udata, unsigned long addr, up_read(&mm->mmap_sem); } + umem_odp->tgid = get_task_pid(current->group_leader, PIDTYPE_PID); ret = ib_init_umem_odp(umem_odp); if (ret) - goto err_free; + goto err_put_pid; return umem_odp; +err_put_pid: + put_pid(umem_odp->tgid); err_free: kfree(umem_odp); return ERR_PTR(ret);