From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ralph Campbell Subject: [PATCH v2 1/7] mm/hmm: replace hmm_update with mmu_notifier_range Date: Thu, 25 Jul 2019 17:56:44 -0700 Message-ID: <20190726005650.2566-2-rcampbell@nvidia.com> References: <20190726005650.2566-1-rcampbell@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190726005650.2566-1-rcampbell-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org Cc: Ralph Campbell , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Jason Gunthorpe , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Ben Skeggs List-Id: dri-devel@lists.freedesktop.org VGhlIGhtbV9taXJyb3Jfb3BzIGNhbGxiYWNrIGZ1bmN0aW9uIHN5bmNfY3B1X2RldmljZV9wYWdl dGFibGVzKCkgcGFzc2VzCmEgc3RydWN0IGhtbV91cGRhdGUgd2hpY2ggaXMgYSBzaW1wbGlmaWVk IHZlcnNpb24gb2Ygc3RydWN0Cm1tdV9ub3RpZmllcl9yYW5nZS4gVGhpcyBpcyB1bm5lY2Vzc2Fy eSBzbyByZXBsYWNlIGhtbV91cGRhdGUgd2l0aAptbXVfbm90aWZpZXJfcmFuZ2UgZGlyZWN0bHku CgpTaWduZWQtb2ZmLWJ5OiBSYWxwaCBDYW1wYmVsbCA8cmNhbXBiZWxsQG52aWRpYS5jb20+ClJl dmlld2VkOiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KQ2M6ICJKw6lyw7RtZSBHbGlz c2UiIDxqZ2xpc3NlQHJlZGhhdC5jb20+CkNjOiBKYXNvbiBHdW50aG9ycGUgPGpnZ0BtZWxsYW5v eC5jb20+CkNjOiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21uLmMgfCAgOCArKystLS0tCiBkcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9ub3V2ZWF1X3N2bS5jICB8ICA0ICsrLS0KIGluY2x1ZGUvbGludXgvaG1tLmgg ICAgICAgICAgICAgICAgICAgIHwgMzEgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIG1tL2ht bS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKy0tLS0tLS0KIDQgZmls ZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21uLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfbW4uYwppbmRleCAzOTcxYzIwMWYzMjAuLmNmOTQ1MDgwZGZm MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21uLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21uLmMKQEAgLTE5NiwxMiArMTk2 LDEyIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9tbl9pbnZhbGlkYXRlX25vZGUoc3RydWN0IGFtZGdw dV9tbl9ub2RlICpub2RlLAogICogcG90ZW50aWFsbHkgZGlydHkuCiAgKi8KIHN0YXRpYyBpbnQg YW1kZ3B1X21uX3N5bmNfcGFnZXRhYmxlc19nZngoc3RydWN0IGhtbV9taXJyb3IgKm1pcnJvciwK LQkJCWNvbnN0IHN0cnVjdCBobW1fdXBkYXRlICp1cGRhdGUpCisJCQljb25zdCBzdHJ1Y3QgbW11 X25vdGlmaWVyX3JhbmdlICp1cGRhdGUpCiB7CiAJc3RydWN0IGFtZGdwdV9tbiAqYW1uID0gY29u dGFpbmVyX29mKG1pcnJvciwgc3RydWN0IGFtZGdwdV9tbiwgbWlycm9yKTsKIAl1bnNpZ25lZCBs b25nIHN0YXJ0ID0gdXBkYXRlLT5zdGFydDsKIAl1bnNpZ25lZCBsb25nIGVuZCA9IHVwZGF0ZS0+ ZW5kOwotCWJvb2wgYmxvY2thYmxlID0gdXBkYXRlLT5ibG9ja2FibGU7CisJYm9vbCBibG9ja2Fi bGUgPSBtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2thYmxlKHVwZGF0ZSk7CiAJc3RydWN0IGludGVy dmFsX3RyZWVfbm9kZSAqaXQ7CiAKIAkvKiBub3RpZmljYXRpb24gaXMgZXhjbHVzaXZlLCBidXQg aW50ZXJ2YWwgaXMgaW5jbHVzaXZlICovCkBAIC0yNDQsMTIgKzI0NCwxMiBAQCBzdGF0aWMgaW50 IGFtZGdwdV9tbl9zeW5jX3BhZ2V0YWJsZXNfZ2Z4KHN0cnVjdCBobW1fbWlycm9yICptaXJyb3Is CiAgKiBhcmUgcmVzdG9ydGVkIGluIGFtZGdwdV9tbl9pbnZhbGlkYXRlX3JhbmdlX2VuZF9oc2Eu CiAgKi8KIHN0YXRpYyBpbnQgYW1kZ3B1X21uX3N5bmNfcGFnZXRhYmxlc19oc2Eoc3RydWN0IGht bV9taXJyb3IgKm1pcnJvciwKLQkJCWNvbnN0IHN0cnVjdCBobW1fdXBkYXRlICp1cGRhdGUpCisJ CQljb25zdCBzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlICp1cGRhdGUpCiB7CiAJc3RydWN0IGFt ZGdwdV9tbiAqYW1uID0gY29udGFpbmVyX29mKG1pcnJvciwgc3RydWN0IGFtZGdwdV9tbiwgbWly cm9yKTsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0gdXBkYXRlLT5zdGFydDsKIAl1bnNpZ25lZCBs b25nIGVuZCA9IHVwZGF0ZS0+ZW5kOwotCWJvb2wgYmxvY2thYmxlID0gdXBkYXRlLT5ibG9ja2Fi bGU7CisJYm9vbCBibG9ja2FibGUgPSBtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2thYmxlKHVwZGF0 ZSk7CiAJc3RydWN0IGludGVydmFsX3RyZWVfbm9kZSAqaXQ7CiAKIAkvKiBub3RpZmljYXRpb24g aXMgZXhjbHVzaXZlLCBidXQgaW50ZXJ2YWwgaXMgaW5jbHVzaXZlICovCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3N2bS5jIGIvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9zdm0uYwppbmRleCA1NDUxMDBmN2M1OTQuLjc5YjI5YzkxODcxNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9zdm0uYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3N2bS5jCkBAIC0yNTIsMTMgKzI1MiwxMyBAQCBu b3V2ZWF1X3N2bW1faW52YWxpZGF0ZShzdHJ1Y3Qgbm91dmVhdV9zdm1tICpzdm1tLCB1NjQgc3Rh cnQsIHU2NCBsaW1pdCkKIAogc3RhdGljIGludAogbm91dmVhdV9zdm1tX3N5bmNfY3B1X2Rldmlj ZV9wYWdldGFibGVzKHN0cnVjdCBobW1fbWlycm9yICptaXJyb3IsCi0JCQkJCWNvbnN0IHN0cnVj dCBobW1fdXBkYXRlICp1cGRhdGUpCisJCQkJCWNvbnN0IHN0cnVjdCBtbXVfbm90aWZpZXJfcmFu Z2UgKnVwZGF0ZSkKIHsKIAlzdHJ1Y3Qgbm91dmVhdV9zdm1tICpzdm1tID0gY29udGFpbmVyX29m KG1pcnJvciwgdHlwZW9mKCpzdm1tKSwgbWlycm9yKTsKIAl1bnNpZ25lZCBsb25nIHN0YXJ0ID0g dXBkYXRlLT5zdGFydDsKIAl1bnNpZ25lZCBsb25nIGxpbWl0ID0gdXBkYXRlLT5lbmQ7CiAKLQlp ZiAoIXVwZGF0ZS0+YmxvY2thYmxlKQorCWlmICghbW11X25vdGlmaWVyX3JhbmdlX2Jsb2NrYWJs ZSh1cGRhdGUpKQogCQlyZXR1cm4gLUVBR0FJTjsKIAogCVNWTU1fREJHKHN2bW0sICJpbnZhbGlk YXRlICUwMTZseC0lMDE2bHgiLCBzdGFydCwgbGltaXQpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC9obW0uaCBiL2luY2x1ZGUvbGludXgvaG1tLmgKaW5kZXggOWYzMjU4NjY4NGM5Li42NTll MjVhMTU3MDAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaG1tLmgKKysrIGIvaW5jbHVkZS9s aW51eC9obW0uaApAQCAtMzQwLDI5ICszNDAsNiBAQCBzdGF0aWMgaW5saW5lIHVpbnQ2NF90IGht bV9kZXZpY2VfZW50cnlfZnJvbV9wZm4oY29uc3Qgc3RydWN0IGhtbV9yYW5nZSAqcmFuZ2UsCiAK IHN0cnVjdCBobW1fbWlycm9yOwogCi0vKgotICogZW51bSBobW1fdXBkYXRlX2V2ZW50IC0gdHlw ZSBvZiB1cGRhdGUKLSAqIEBITU1fVVBEQVRFX0lOVkFMSURBVEU6IGludmFsaWRhdGUgcmFuZ2Ug KG5vIGluZGljYXRpb24gYXMgdG8gd2h5KQotICovCi1lbnVtIGhtbV91cGRhdGVfZXZlbnQgewot CUhNTV9VUERBVEVfSU5WQUxJREFURSwKLX07Ci0KLS8qCi0gKiBzdHJ1Y3QgaG1tX3VwZGF0ZSAt IEhNTSB1cGRhdGUgaW5mb3JtYXRpb24gZm9yIGNhbGxiYWNrCi0gKgotICogQHN0YXJ0OiB2aXJ0 dWFsIHN0YXJ0IGFkZHJlc3Mgb2YgdGhlIHJhbmdlIHRvIHVwZGF0ZQotICogQGVuZDogdmlydHVh bCBlbmQgYWRkcmVzcyBvZiB0aGUgcmFuZ2UgdG8gdXBkYXRlCi0gKiBAZXZlbnQ6IGV2ZW50IHRy aWdnZXJpbmcgdGhlIHVwZGF0ZSAod2hhdCBpcyBoYXBwZW5pbmcpCi0gKiBAYmxvY2thYmxlOiBj YW4gdGhlIGNhbGxiYWNrIGJsb2NrL3NsZWVwID8KLSAqLwotc3RydWN0IGhtbV91cGRhdGUgewot CXVuc2lnbmVkIGxvbmcgc3RhcnQ7Ci0JdW5zaWduZWQgbG9uZyBlbmQ7Ci0JZW51bSBobW1fdXBk YXRlX2V2ZW50IGV2ZW50OwotCWJvb2wgYmxvY2thYmxlOwotfTsKLQogLyoKICAqIHN0cnVjdCBo bW1fbWlycm9yX29wcyAtIEhNTSBtaXJyb3IgZGV2aWNlIG9wZXJhdGlvbnMgY2FsbGJhY2sKICAq CkBAIC0zODMsOSArMzYwLDkgQEAgc3RydWN0IGhtbV9taXJyb3Jfb3BzIHsKIAkvKiBzeW5jX2Nw dV9kZXZpY2VfcGFnZXRhYmxlcygpIC0gc3luY2hyb25pemUgcGFnZSB0YWJsZXMKIAkgKgogCSAq IEBtaXJyb3I6IHBvaW50ZXIgdG8gc3RydWN0IGhtbV9taXJyb3IKLQkgKiBAdXBkYXRlOiB1cGRh dGUgaW5mb3JtYXRpb24gKHNlZSBzdHJ1Y3QgaG1tX3VwZGF0ZSkKLQkgKiBSZXR1cm46IC1FQUdB SU4gaWYgdXBkYXRlLmJsb2NrYWJsZSBmYWxzZSBhbmQgY2FsbGJhY2sgbmVlZCB0bwotCSAqICAg ICAgICAgIGJsb2NrLCAwIG90aGVyd2lzZS4KKwkgKiBAdXBkYXRlOiB1cGRhdGUgaW5mb3JtYXRp b24gKHNlZSBzdHJ1Y3QgbW11X25vdGlmaWVyX3JhbmdlKQorCSAqIFJldHVybjogLUVBR0FJTiBp ZiBtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2thYmxlKHVwZGF0ZSkgaXMgZmFsc2UKKwkgKiBhbmQg Y2FsbGJhY2sgbmVlZHMgdG8gYmxvY2ssIDAgb3RoZXJ3aXNlLgogCSAqCiAJICogVGhpcyBjYWxs YmFjayB1bHRpbWF0ZWx5IG9yaWdpbmF0ZXMgZnJvbSBtbXVfbm90aWZpZXJzIHdoZW4gdGhlIENQ VQogCSAqIHBhZ2UgdGFibGUgaXMgdXBkYXRlZC4gVGhlIGRldmljZSBkcml2ZXIgbXVzdCB1cGRh dGUgaXRzIHBhZ2UgdGFibGUKQEAgLTM5Nyw3ICszNzQsNyBAQCBzdHJ1Y3QgaG1tX21pcnJvcl9v cHMgewogCSAqIHN5bmNocm9ub3VzIGNhbGwuCiAJICovCiAJaW50ICgqc3luY19jcHVfZGV2aWNl X3BhZ2V0YWJsZXMpKHN0cnVjdCBobW1fbWlycm9yICptaXJyb3IsCi0JCQkJCSAgY29uc3Qgc3Ry dWN0IGhtbV91cGRhdGUgKnVwZGF0ZSk7CisJCQkJY29uc3Qgc3RydWN0IG1tdV9ub3RpZmllcl9y YW5nZSAqdXBkYXRlKTsKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9tbS9obW0uYyBiL21tL2htbS5j CmluZGV4IDU0YjNhNDE2MmFlOS4uNDA0MGI0NDI3NjM1IDEwMDY0NAotLS0gYS9tbS9obW0uYwor KysgYi9tbS9obW0uYwpAQCAtMTY1LDcgKzE2NSw2IEBAIHN0YXRpYyBpbnQgaG1tX2ludmFsaWRh dGVfcmFuZ2Vfc3RhcnQoc3RydWN0IG1tdV9ub3RpZmllciAqbW4sCiB7CiAJc3RydWN0IGhtbSAq aG1tID0gY29udGFpbmVyX29mKG1uLCBzdHJ1Y3QgaG1tLCBtbXVfbm90aWZpZXIpOwogCXN0cnVj dCBobW1fbWlycm9yICptaXJyb3I7Ci0Jc3RydWN0IGhtbV91cGRhdGUgdXBkYXRlOwogCXN0cnVj dCBobW1fcmFuZ2UgKnJhbmdlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldCA9IDA7 CkBAIC0xNzMsMTUgKzE3MiwxMCBAQCBzdGF0aWMgaW50IGhtbV9pbnZhbGlkYXRlX3JhbmdlX3N0 YXJ0KHN0cnVjdCBtbXVfbm90aWZpZXIgKm1uLAogCWlmICgha3JlZl9nZXRfdW5sZXNzX3plcm8o JmhtbS0+a3JlZikpCiAJCXJldHVybiAwOwogCi0JdXBkYXRlLnN0YXJ0ID0gbnJhbmdlLT5zdGFy dDsKLQl1cGRhdGUuZW5kID0gbnJhbmdlLT5lbmQ7Ci0JdXBkYXRlLmV2ZW50ID0gSE1NX1VQREFU RV9JTlZBTElEQVRFOwotCXVwZGF0ZS5ibG9ja2FibGUgPSBtbXVfbm90aWZpZXJfcmFuZ2VfYmxv Y2thYmxlKG5yYW5nZSk7Ci0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmaG1tLT5yYW5nZXNfbG9jaywg ZmxhZ3MpOwogCWhtbS0+bm90aWZpZXJzKys7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShyYW5nZSwg JmhtbS0+cmFuZ2VzLCBsaXN0KSB7Ci0JCWlmICh1cGRhdGUuZW5kIDwgcmFuZ2UtPnN0YXJ0IHx8 IHVwZGF0ZS5zdGFydCA+PSByYW5nZS0+ZW5kKQorCQlpZiAobnJhbmdlLT5lbmQgPCByYW5nZS0+ c3RhcnQgfHwgbnJhbmdlLT5zdGFydCA+PSByYW5nZS0+ZW5kKQogCQkJY29udGludWU7CiAKIAkJ cmFuZ2UtPnZhbGlkID0gZmFsc2U7CkBAIC0xOTgsOSArMTkyLDEwIEBAIHN0YXRpYyBpbnQgaG1t X2ludmFsaWRhdGVfcmFuZ2Vfc3RhcnQoc3RydWN0IG1tdV9ub3RpZmllciAqbW4sCiAJbGlzdF9m b3JfZWFjaF9lbnRyeShtaXJyb3IsICZobW0tPm1pcnJvcnMsIGxpc3QpIHsKIAkJaW50IHJjOwog Ci0JCXJjID0gbWlycm9yLT5vcHMtPnN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzKG1pcnJvciwg JnVwZGF0ZSk7CisJCXJjID0gbWlycm9yLT5vcHMtPnN5bmNfY3B1X2RldmljZV9wYWdldGFibGVz KG1pcnJvciwgbnJhbmdlKTsKIAkJaWYgKHJjKSB7Ci0JCQlpZiAoV0FSTl9PTih1cGRhdGUuYmxv Y2thYmxlIHx8IHJjICE9IC1FQUdBSU4pKQorCQkJaWYgKFdBUk5fT04obW11X25vdGlmaWVyX3Jh bmdlX2Jsb2NrYWJsZShucmFuZ2UpIHx8CisJCQkgICAgcmMgIT0gLUVBR0FJTikpCiAJCQkJY29u dGludWU7CiAJCQlyZXQgPSAtRUFHQUlOOwogCQkJYnJlYWs7Ci0tIAoyLjIwLjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBs aXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQ==