From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 02/41] x86_64/mm: avoid cleaning the unmapped frame table Date: Thu, 7 Dec 2017 18:09:51 +0800 Message-ID: <20171207101030.22364-3-haozhong.zhang@intel.com> References: <20171207101030.22364-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171207101030.22364-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Andrew Cooper , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org Y2xlYW51cF9mcmFtZV90YWJsZSgpIGluaXRpYWxpemVzIHRoZSBlbnRpcmUgbmV3bHkgYWRkZWQg ZnJhbWUgdGFibGUKdG8gYWxsIC0xJ3MuIElmIGl0J3MgY2FsbGVkIGFmdGVyIGV4dGVuZF9mcmFt ZV90YWJsZSgpIGZhaWxlZCB0byBtYXAKdGhlIGVudGlyZSBmcmFtZSB0YWJsZSwgdGhlIGluaXRp YWxpemF0aW9uIHdpbGwgaGl0IGEgcGFnZSBmYXVsdC4KCk1vdmUgdGhlIGNsZWFudXAgb2YgcGFy dGlhbGx5IG1hcHBlZCBmcmFtZXRhYmxlIHRvIGV4dGVuZF9mcmFtZV90YWJsZSgpLAp3aGljaCBo YXMgZW5vdWdoIGtub3dsZWRnZSBvZiB0aGUgbWFwcGluZyBzdGF0dXMuCgpTaWduZWQtb2ZmLWJ5 OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhhbmdAaW50ZWwuY29tPgotLS0KQ2M6IEphbiBC ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w ZXIzQGNpdHJpeC5jb20+CgpAQ2hhbzogSSBkb24ndCBtb2RpZnkgdGhpcyBwYXRjaCBwZXIgeW91 ciBjb21tZW50LCBiZWNhdXNlIEkgZmVlbCBpdCdzCmJldHRlciB0byBoYW5kbGUgdGhlIGVycm9y cyBsb2NhbGx5IGluIGVhY2ggZnVuY3Rpb24gKHJhdGhlciB0aGFuIGhhbmRsZQphbGwgb2YgdGhl bSBpbiB0aGUgdG9wLWxldmVsKSwgd2hpY2ggd2lsbCBtYWtlIGVhY2ggZnVuY3Rpb24gZWFzaWVy IHRvIHVzZS4KLS0tCiB4ZW4vYXJjaC94ODYveDg2XzY0L21tLmMgfCA1MSArKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBp bnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv eDg2XzY0L21tLmMgYi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKaW5kZXggODM5MDM4YjZjMy4u MzVhMTUzNWMxZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jCisrKyBiL3hl bi9hcmNoL3g4Ni94ODZfNjQvbW0uYwpAQCAtNzEwLDE1ICs3MTAsMTIgQEAgdm9pZCBmcmVlX2Nv bXBhdF9hcmdfeGxhdChzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBGTl9VUChDT01QQVRfQVJHX1hMQVRfU0laRSkpOwogfQogCi1zdGF0aWMgdm9pZCBjbGVh bnVwX2ZyYW1lX3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCitzdGF0aWMgdm9p ZCBjbGVhbnVwX2ZyYW1lX3RhYmxlKHVuc2lnbmVkIGxvbmcgc3BmbiwgdW5zaWduZWQgbG9uZyBl cGZuKQogeworICAgIHN0cnVjdCBtZW1faG90YWRkX2luZm8gaW5mbyA9IHsgLnNwZm4gPSBzcGZu LCAuZXBmbiA9IGVwZm4sIC5jdXIgPSBzcGZuIH07CiAgICAgdW5zaWduZWQgbG9uZyBzdmEsIGV2 YTsKICAgICBsM19wZ2VudHJ5X3QgbDNlOwogICAgIGwyX3BnZW50cnlfdCBsMmU7Ci0gICAgdW5z aWduZWQgbG9uZyBzcGZuLCBlcGZuOwotCi0gICAgc3BmbiA9IGluZm8tPnNwZm47Ci0gICAgZXBm biA9IGluZm8tPmVwZm47CiAKICAgICBzdmEgPSAodW5zaWduZWQgbG9uZyltZm5fdG9fcGFnZShz cGZuKTsKICAgICBldmEgPSAodW5zaWduZWQgbG9uZyltZm5fdG9fcGFnZShlcGZuKTsKQEAgLTc0 NCw3ICs3NDEsNyBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwX2ZyYW1lX3RhYmxlKHN0cnVjdCBtZW1f aG90YWRkX2luZm8gKmluZm8pCiAgICAgICAgIGlmICggKGwyZV9nZXRfZmxhZ3MobDJlKSAmIChf UEFHRV9QUkVTRU5UIHwgX1BBR0VfUFNFKSkgPT0KICAgICAgICAgICAgICAgKF9QQUdFX1BTRSB8 IF9QQUdFX1BSRVNFTlQpICkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKGhvdGFkZF9tZW1f dmFsaWQobDJlX2dldF9wZm4obDJlKSwgaW5mbykpCisgICAgICAgICAgICBpZiAoIGhvdGFkZF9t ZW1fdmFsaWQobDJlX2dldF9wZm4obDJlKSwgJmluZm8pICkKICAgICAgICAgICAgICAgICBkZXN0 cm95X3hlbl9tYXBwaW5ncyhzdmEgJiB+KCgxVUwgPDwgTDJfUEFHRVRBQkxFX1NISUZUKSAtIDEp LAogICAgICAgICAgICAgICAgICAgICAgICAgICgoc3ZhICYgfigoMVVMIDw8IEwyX1BBR0VUQUJM RV9TSElGVCkgLTEgKSkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTDJf UEFHRVRBQkxFX1NISUZUKSAtIDEpKTsKQEAgLTc2OSwyOCArNzY2LDMzIEBAIHN0YXRpYyBpbnQg c2V0dXBfZnJhbWV0YWJsZV9jaHVuayh2b2lkICpzdGFydCwgdm9pZCAqZW5kLAogewogICAgIHVu c2lnbmVkIGxvbmcgcyA9ICh1bnNpZ25lZCBsb25nKXN0YXJ0OwogICAgIHVuc2lnbmVkIGxvbmcg ZSA9ICh1bnNpZ25lZCBsb25nKWVuZDsKLSAgICB1bnNpZ25lZCBsb25nIG1mbjsKLSAgICBpbnQg ZXJyOworICAgIHVuc2lnbmVkIGxvbmcgY3VyLCBtZm47CisgICAgaW50IGVyciA9IDA7CiAKICAg ICBBU1NFUlQoIShzICYgKCgxIDw8IEwyX1BBR0VUQUJMRV9TSElGVCkgLSAxKSkpOwogICAgIEFT U0VSVCghKGUgJiAoKDEgPDwgTDJfUEFHRVRBQkxFX1NISUZUKSAtIDEpKSk7CiAKLSAgICBmb3Ig KCA7IHMgPCBlOyBzICs9ICgxVUwgPDwgTDJfUEFHRVRBQkxFX1NISUZUKSkKKyAgICBmb3IgKCBj dXIgPSBzOyBjdXIgPCBlOyBjdXIgKz0gKDFVTCA8PCBMMl9QQUdFVEFCTEVfU0hJRlQpICkKICAg ICB7CiAgICAgICAgIG1mbiA9IGFsbG9jX2hvdGFkZF9tZm4oaW5mbyk7Ci0gICAgICAgIGVyciA9 IG1hcF9wYWdlc190b194ZW4ocywgbWZuLCAxVUwgPDwgUEFHRVRBQkxFX09SREVSLAorICAgICAg ICBlcnIgPSBtYXBfcGFnZXNfdG9feGVuKGN1ciwgbWZuLCAxVUwgPDwgUEFHRVRBQkxFX09SREVS LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUik7CiAgICAg ICAgIGlmICggZXJyICkKLSAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAgICAgICAgICBicmVh azsKICAgICB9Ci0gICAgbWVtc2V0KHN0YXJ0LCAtMSwgcyAtICh1bnNpZ25lZCBsb25nKXN0YXJ0 KTsKIAotICAgIHJldHVybiAwOworICAgIGlmICggIWVyciApCisgICAgICAgIG1lbXNldChzdGFy dCwgLTEsIGN1ciAtIHMpOworICAgIGVsc2UKKyAgICAgICAgZGVzdHJveV94ZW5fbWFwcGluZ3Mo cywgY3VyKTsKKworICAgIHJldHVybiBlcnI7CiB9CiAKIHN0YXRpYyBpbnQgZXh0ZW5kX2ZyYW1l X3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCiB7CiAgICAgdW5zaWduZWQgbG9u ZyBjaWR4LCBuaWR4LCBlaWR4LCBzcGZuLCBlcGZuOworICAgIGludCBlcnIgPSAwOwogCiAgICAg c3BmbiA9IGluZm8tPnNwZm47CiAgICAgZXBmbiA9IGluZm8tPmVwZm47CkBAIC04MDksOCArODEx LDYgQEAgc3RhdGljIGludCBleHRlbmRfZnJhbWVfdGFibGUoc3RydWN0IG1lbV9ob3RhZGRfaW5m byAqaW5mbykKIAogICAgIHdoaWxlICggY2lkeCA8IGVpZHggKQogICAgIHsKLSAgICAgICAgaW50 IGVycjsKLQogICAgICAgICBuaWR4ID0gZmluZF9uZXh0X2JpdChwZHhfZ3JvdXBfdmFsaWQsIGVp ZHgsIGNpZHgpOwogICAgICAgICBpZiAoIG5pZHggPj0gZWlkeCApCiAgICAgICAgICAgICBuaWR4 ID0gZWlkeDsKQEAgLTgxOCwxNCArODE4LDE5IEBAIHN0YXRpYyBpbnQgZXh0ZW5kX2ZyYW1lX3Rh YmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGR4X3RvX3BhZ2UobmlkeCAqIFBEWF9HUk9VUF9DT1VOVCksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mbyk7CiAgICAgICAgIGlmICggZXJy ICkKLSAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAgICAgICAgICBicmVhazsKIAogICAgICAg ICBjaWR4ID0gZmluZF9uZXh0X3plcm9fYml0KHBkeF9ncm91cF92YWxpZCwgZWlkeCwgbmlkeCk7 CiAgICAgfQogCi0gICAgbWVtc2V0KG1mbl90b19wYWdlKHNwZm4pLCAwLAotICAgICAgICAgICAo dW5zaWduZWQgbG9uZyltZm5fdG9fcGFnZShlcGZuKSAtICh1bnNpZ25lZCBsb25nKW1mbl90b19w YWdlKHNwZm4pKTsKLSAgICByZXR1cm4gMDsKKyAgICBpZiAoICFlcnIgKQorICAgICAgICBtZW1z ZXQobWZuX3RvX3BhZ2Uoc3BmbiksIDAsCisgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZylt Zm5fdG9fcGFnZShlcGZuKSAtCisgICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZyltZm5fdG9f cGFnZShzcGZuKSk7CisgICAgZWxzZQorICAgICAgICBjbGVhbnVwX2ZyYW1lX3RhYmxlKHNwZm4s IHBkeF90b19wZm4oY2lkeCAqIFBEWF9HUk9VUF9DT1VOVCkpOworCisgICAgcmV0dXJuIGVycjsK IH0KIAogdm9pZCBfX2luaXQgc3ViYXJjaF9pbml0X21lbW9yeSh2b2lkKQpAQCAtMTQwNCw4ICsx NDA5LDggQEAgaW50IG1lbW9yeV9hZGQodW5zaWduZWQgbG9uZyBzcGZuLCB1bnNpZ25lZCBsb25n IGVwZm4sIHVuc2lnbmVkIGludCBweG0pCiAgICAgaW5mby5jdXIgPSBzcGZuOwogCiAgICAgcmV0 ID0gZXh0ZW5kX2ZyYW1lX3RhYmxlKCZpbmZvKTsKLSAgICBpZiAocmV0KQotICAgICAgICBnb3Rv IGRlc3Ryb3lfZnJhbWV0YWJsZTsKKyAgICBpZiAoIHJldCApCisgICAgICAgIGdvdG8gcmVzdG9y ZV9ub2RlX3N0YXR1czsKIAogICAgIC8qIFNldCBtYXhfcGFnZSBhcyBzZXR1cF9tMnBfdGFibGUg d2lsbCB1c2UgaXQqLwogICAgIGlmIChtYXhfcGFnZSA8IGVwZm4pCkBAIC0xNDQ4LDggKzE0NTMs OCBAQCBkZXN0cm95X20ycDoKICAgICBtYXhfcGFnZSA9IG9sZF9tYXg7CiAgICAgdG90YWxfcGFn ZXMgPSBvbGRfdG90YWw7CiAgICAgbWF4X3BkeCA9IHBmbl90b19wZHgobWF4X3BhZ2UgLSAxKSAr IDE7Ci1kZXN0cm95X2ZyYW1ldGFibGU6Ci0gICAgY2xlYW51cF9mcmFtZV90YWJsZSgmaW5mbyk7 CisgICAgY2xlYW51cF9mcmFtZV90YWJsZShzcGZuLCBlcGZuKTsKK3Jlc3RvcmVfbm9kZV9zdGF0 dXM6CiAgICAgaWYgKCAhb3JpZ19vbmxpbmUgKQogICAgICAgICBub2RlX3NldF9vZmZsaW5lKG5v ZGUpOwogICAgIE5PREVfREFUQShub2RlKS0+bm9kZV9zdGFydF9wZm4gPSBvbGRfbm9kZV9zdGFy dDsKLS0gCjIuMTUuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=