From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ralph Campbell Subject: [RFC] mm/hmm: pass mmu_notifier_range to sync_cpu_device_pagetables Date: Fri, 7 Jun 2019 17:14:52 -0700 Message-ID: <20190608001452.7922-1-rcampbell@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jerome Glisse , John Hubbard , Felix.Kuehling@amd.com, Jason Gunthorpe Cc: Andrea Arcangeli , Ralph Campbell , linux-rdma@vger.kernel.org, amd-gfx@lists.freedesktop.org, linux-mm@kvack.org, dri-devel@lists.freedesktop.org List-Id: linux-rdma@vger.kernel.org SE1NIGRlZmluZXMgaXRzIG93biBzdHJ1Y3QgaG1tX3VwZGF0ZSB3aGljaCBpcyBwYXNzZWQgdG8g dGhlCnN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzKCkgY2FsbGJhY2sgZnVuY3Rpb24uIFRoaXMg aXMKc3VmZmljaWVudCB3aGVuIHRoZSBvbmx5IGFjdGlvbiBpcyB0byBpbnZhbGlkYXRlLiBIb3dl dmVyLAphIGRldmljZSBtYXkgd2FudCB0byBrbm93IHRoZSByZWFzb24gZm9yIHRoZSBpbnZhbGlk YXRpb24gYW5kCmJlIGFibGUgdG8gc2VlIHRoZSBuZXcgcGVybWlzc2lvbnMgb24gYSByYW5nZSwg dXBkYXRlIGRldmljZSBhY2Nlc3MKcmlnaHRzIG9yIHJhbmdlIHN0YXRpc3RpY3MuIFNpbmNlIHN5 bmNfY3B1X2RldmljZV9wYWdldGFibGVzKCkKY2FuIGJlIGNhbGxlZCBmcm9tIHRyeV90b191bm1h cCgpLCB0aGUgbW1hcF9zZW0gbWF5IG5vdCBiZSBoZWxkCmFuZCBmaW5kX3ZtYSgpIGlzIG5vdCBz YWZlIHRvIGJlIGNhbGxlZC4KUGFzcyB0aGUgc3RydWN0IG1tdV9ub3RpZmllcl9yYW5nZSB0byBz eW5jX2NwdV9kZXZpY2VfcGFnZXRhYmxlcygpCnRvIGFsbG93IHRoZSBmdWxsIGludmFsaWRhdGlv biBpbmZvcm1hdGlvbiB0byBiZSB1c2VkLgoKU2lnbmVkLW9mZi1ieTogUmFscGggQ2FtcGJlbGwg PHJjYW1wYmVsbEBudmlkaWEuY29tPgotLS0KCkknbSBzZW5kaW5nIHRoaXMgb3V0IG5vdyBzaW5j ZSB3ZSBhcmUgdXBkYXRpbmcgbWFueSBvZiB0aGUgSE1NIEFQSXMKYW5kIEkgdGhpbmsgaXQgd2ls bCBiZSB1c2VmdWwuCgoKIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfc3ZtLmMgfCAg NCArKy0tCiBpbmNsdWRlL2xpbnV4L2htbS5oICAgICAgICAgICAgICAgICAgIHwgMjcgKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBtbS9obW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTMgKysrKy0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyks IDM2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfc3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3N2bS5jCmluZGV4 IDhjOTIzNzRhZmNmMi4uYzM0Yjk4ZmFmZTJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9ub3V2ZWF1X3N2bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfc3ZtLmMKQEAgLTI1MiwxMyArMjUyLDEzIEBAIG5vdXZlYXVfc3ZtbV9pbnZhbGlkYXRlKHN0 cnVjdCBub3V2ZWF1X3N2bW0gKnN2bW0sIHU2NCBzdGFydCwgdTY0IGxpbWl0KQogCiBzdGF0aWMg aW50CiBub3V2ZWF1X3N2bW1fc3luY19jcHVfZGV2aWNlX3BhZ2V0YWJsZXMoc3RydWN0IGhtbV9t aXJyb3IgKm1pcnJvciwKLQkJCQkJY29uc3Qgc3RydWN0IGhtbV91cGRhdGUgKnVwZGF0ZSkKKwkJ CQkJY29uc3Qgc3RydWN0IG1tdV9ub3RpZmllcl9yYW5nZSAqdXBkYXRlKQogewogCXN0cnVjdCBu b3V2ZWF1X3N2bW0gKnN2bW0gPSBjb250YWluZXJfb2YobWlycm9yLCB0eXBlb2YoKnN2bW0pLCBt aXJyb3IpOwogCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSB1cGRhdGUtPnN0YXJ0OwogCXVuc2lnbmVk IGxvbmcgbGltaXQgPSB1cGRhdGUtPmVuZDsKIAotCWlmICghdXBkYXRlLT5ibG9ja2FibGUpCisJ aWYgKCFtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2thYmxlKHVwZGF0ZSkpCiAJCXJldHVybiAtRUFH QUlOOwogCiAJU1ZNTV9EQkcoc3ZtbSwgImludmFsaWRhdGUgJTAxNmx4LSUwMTZseCIsIHN0YXJ0 LCBsaW1pdCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2htbS5oIGIvaW5jbHVkZS9saW51 eC9obW0uaAppbmRleCAwZmE4ZWEzNGNjZWYuLjA3YTJkMzhmZGUzNCAxMDA2NDQKLS0tIGEvaW5j bHVkZS9saW51eC9obW0uaAorKysgYi9pbmNsdWRlL2xpbnV4L2htbS5oCkBAIC0zNzcsMjkgKzM3 Nyw2IEBAIHN0YXRpYyBpbmxpbmUgdWludDY0X3QgaG1tX3Bmbl9mcm9tX3Bmbihjb25zdCBzdHJ1 Y3QgaG1tX3JhbmdlICpyYW5nZSwKIAogc3RydWN0IGhtbV9taXJyb3I7CiAKLS8qCi0gKiBlbnVt IGhtbV91cGRhdGVfZXZlbnQgLSB0eXBlIG9mIHVwZGF0ZQotICogQEhNTV9VUERBVEVfSU5WQUxJ REFURTogaW52YWxpZGF0ZSByYW5nZSAobm8gaW5kaWNhdGlvbiBhcyB0byB3aHkpCi0gKi8KLWVu dW0gaG1tX3VwZGF0ZV9ldmVudCB7Ci0JSE1NX1VQREFURV9JTlZBTElEQVRFLAotfTsKLQotLyoK LSAqIHN0cnVjdCBobW1fdXBkYXRlIC0gSE1NIHVwZGF0ZSBpbmZvcm1hdGlvbiBmb3IgY2FsbGJh Y2sKLSAqCi0gKiBAc3RhcnQ6IHZpcnR1YWwgc3RhcnQgYWRkcmVzcyBvZiB0aGUgcmFuZ2UgdG8g dXBkYXRlCi0gKiBAZW5kOiB2aXJ0dWFsIGVuZCBhZGRyZXNzIG9mIHRoZSByYW5nZSB0byB1cGRh dGUKLSAqIEBldmVudDogZXZlbnQgdHJpZ2dlcmluZyB0aGUgdXBkYXRlICh3aGF0IGlzIGhhcHBl bmluZykKLSAqIEBibG9ja2FibGU6IGNhbiB0aGUgY2FsbGJhY2sgYmxvY2svc2xlZXAgPwotICov Ci1zdHJ1Y3QgaG1tX3VwZGF0ZSB7Ci0JdW5zaWduZWQgbG9uZyBzdGFydDsKLQl1bnNpZ25lZCBs b25nIGVuZDsKLQllbnVtIGhtbV91cGRhdGVfZXZlbnQgZXZlbnQ7Ci0JYm9vbCBibG9ja2FibGU7 Ci19OwotCiAvKgogICogc3RydWN0IGhtbV9taXJyb3Jfb3BzIC0gSE1NIG1pcnJvciBkZXZpY2Ug b3BlcmF0aW9ucyBjYWxsYmFjawogICoKQEAgLTQyMCw3ICszOTcsNyBAQCBzdHJ1Y3QgaG1tX21p cnJvcl9vcHMgewogCS8qIHN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzKCkgLSBzeW5jaHJvbml6 ZSBwYWdlIHRhYmxlcwogCSAqCiAJICogQG1pcnJvcjogcG9pbnRlciB0byBzdHJ1Y3QgaG1tX21p cnJvcgotCSAqIEB1cGRhdGU6IHVwZGF0ZSBpbmZvcm1hdGlvbiAoc2VlIHN0cnVjdCBobW1fdXBk YXRlKQorCSAqIEB1cGRhdGU6IHVwZGF0ZSBpbmZvcm1hdGlvbiAoc2VlIHN0cnVjdCBtbXVfbm90 aWZpZXJfcmFuZ2UpCiAJICogUmV0dXJuOiAtRUFHQUlOIGlmIHVwZGF0ZS5ibG9ja2FibGUgZmFs c2UgYW5kIGNhbGxiYWNrIG5lZWQgdG8KIAkgKiAgICAgICAgICBibG9jaywgMCBvdGhlcndpc2Uu CiAJICoKQEAgLTQzNCw3ICs0MTEsNyBAQCBzdHJ1Y3QgaG1tX21pcnJvcl9vcHMgewogCSAqIHN5 bmNocm9ub3VzIGNhbGwuCiAJICovCiAJaW50ICgqc3luY19jcHVfZGV2aWNlX3BhZ2V0YWJsZXMp KHN0cnVjdCBobW1fbWlycm9yICptaXJyb3IsCi0JCQkJCSAgY29uc3Qgc3RydWN0IGhtbV91cGRh dGUgKnVwZGF0ZSk7CisJCQkJY29uc3Qgc3RydWN0IG1tdV9ub3RpZmllcl9yYW5nZSAqdXBkYXRl KTsKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9tbS9obW0uYyBiL21tL2htbS5jCmluZGV4IDlhYWQz NTUwZjJiYi4uYjQ5YTQzNzEyNTU0IDEwMDY0NAotLS0gYS9tbS9obW0uYworKysgYi9tbS9obW0u YwpAQCAtMTY0LDcgKzE2NCw2IEBAIHN0YXRpYyBpbnQgaG1tX2ludmFsaWRhdGVfcmFuZ2Vfc3Rh cnQoc3RydWN0IG1tdV9ub3RpZmllciAqbW4sCiB7CiAJc3RydWN0IGhtbSAqaG1tID0gY29udGFp bmVyX29mKG1uLCBzdHJ1Y3QgaG1tLCBtbXVfbm90aWZpZXIpOwogCXN0cnVjdCBobW1fbWlycm9y ICptaXJyb3I7Ci0Jc3RydWN0IGhtbV91cGRhdGUgdXBkYXRlOwogCXN0cnVjdCBobW1fcmFuZ2Ug KnJhbmdlOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IHJldCA9IDA7CkBAIC0xNzMsMTUg KzE3MiwxMCBAQCBzdGF0aWMgaW50IGhtbV9pbnZhbGlkYXRlX3JhbmdlX3N0YXJ0KHN0cnVjdCBt bXVfbm90aWZpZXIgKm1uLAogCWlmICgha3JlZl9nZXRfdW5sZXNzX3plcm8oJmhtbS0+a3JlZikp CiAJCXJldHVybiAwOwogCi0JdXBkYXRlLnN0YXJ0ID0gbnJhbmdlLT5zdGFydDsKLQl1cGRhdGUu ZW5kID0gbnJhbmdlLT5lbmQ7Ci0JdXBkYXRlLmV2ZW50ID0gSE1NX1VQREFURV9JTlZBTElEQVRF OwotCXVwZGF0ZS5ibG9ja2FibGUgPSBtbXVfbm90aWZpZXJfcmFuZ2VfYmxvY2thYmxlKG5yYW5n ZSk7Ci0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmaG1tLT5yYW5nZXNfbG9jaywgZmxhZ3MpOwogCWht bS0+bm90aWZpZXJzKys7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShyYW5nZSwgJmhtbS0+cmFuZ2Vz LCBsaXN0KSB7Ci0JCWlmICh1cGRhdGUuZW5kIDwgcmFuZ2UtPnN0YXJ0IHx8IHVwZGF0ZS5zdGFy dCA+PSByYW5nZS0+ZW5kKQorCQlpZiAobnJhbmdlLT5lbmQgPCByYW5nZS0+c3RhcnQgfHwgbnJh bmdlLT5zdGFydCA+PSByYW5nZS0+ZW5kKQogCQkJY29udGludWU7CiAKIAkJcmFuZ2UtPnZhbGlk ID0gZmFsc2U7CkBAIC0xOTgsOSArMTkyLDEwIEBAIHN0YXRpYyBpbnQgaG1tX2ludmFsaWRhdGVf cmFuZ2Vfc3RhcnQoc3RydWN0IG1tdV9ub3RpZmllciAqbW4sCiAJbGlzdF9mb3JfZWFjaF9lbnRy eShtaXJyb3IsICZobW0tPm1pcnJvcnMsIGxpc3QpIHsKIAkJaW50IHJjOwogCi0JCXJjID0gbWly cm9yLT5vcHMtPnN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzKG1pcnJvciwgJnVwZGF0ZSk7CisJ CXJjID0gbWlycm9yLT5vcHMtPnN5bmNfY3B1X2RldmljZV9wYWdldGFibGVzKG1pcnJvciwgbnJh bmdlKTsKIAkJaWYgKHJjKSB7Ci0JCQlpZiAoV0FSTl9PTih1cGRhdGUuYmxvY2thYmxlIHx8IHJj ICE9IC1FQUdBSU4pKQorCQkJaWYgKFdBUk5fT04obW11X25vdGlmaWVyX3JhbmdlX2Jsb2NrYWJs ZShucmFuZ2UpIHx8CisJCQkJICAgIHJjICE9IC1FQUdBSU4pKQogCQkJCWNvbnRpbnVlOwogCQkJ cmV0ID0gLUVBR0FJTjsKIAkJCWJyZWFrOwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=