From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v3 03/39] x86_64/mm: avoid cleaning the unmapped frame table Date: Mon, 11 Sep 2017 12:37:44 +0800 Message-ID: <20170911043820.14617-4-haozhong.zhang@intel.com> References: <20170911043820.14617-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: <20170911043820.14617-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.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+Ci0tLQogeGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jIHwgNTEgKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMjggaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L3g4Nl82NC9tbS5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jCmluZGV4IGM5MzM4 M2Q3ZDkuLmY2MzVlNGJmNzAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvbW0uYwor KysgYi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKQEAgLTcxMCwxNSArNzEwLDEyIEBAIHZvaWQg ZnJlZV9jb21wYXRfYXJnX3hsYXQoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQRk5fVVAoQ09NUEFUX0FSR19YTEFUX1NJWkUpKTsKIH0KIAotc3RhdGljIHZv aWQgY2xlYW51cF9mcmFtZV90YWJsZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQorc3Rh dGljIHZvaWQgY2xlYW51cF9mcmFtZV90YWJsZSh1bnNpZ25lZCBsb25nIHNwZm4sIHVuc2lnbmVk IGxvbmcgZXBmbikKIHsKKyAgICBzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvIGluZm8gPSB7IC5zcGZu ID0gc3BmbiwgLmVwZm4gPSBlcGZuLCAuY3VyID0gc3BmbiB9OwogICAgIHVuc2lnbmVkIGxvbmcg c3ZhLCBldmE7CiAgICAgbDNfcGdlbnRyeV90IGwzZTsKICAgICBsMl9wZ2VudHJ5X3QgbDJlOwot ICAgIHVuc2lnbmVkIGxvbmcgc3BmbiwgZXBmbjsKLQotICAgIHNwZm4gPSBpbmZvLT5zcGZuOwot ICAgIGVwZm4gPSBpbmZvLT5lcGZuOwogCiAgICAgc3ZhID0gKHVuc2lnbmVkIGxvbmcpbWZuX3Rv X3BhZ2Uoc3Bmbik7CiAgICAgZXZhID0gKHVuc2lnbmVkIGxvbmcpbWZuX3RvX3BhZ2UoZXBmbik7 CkBAIC03NDQsNyArNzQxLDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cF9mcmFtZV90YWJsZShzdHJ1 Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQogICAgICAgICBpZiAoIChsMmVfZ2V0X2ZsYWdzKGwy ZSkgJiAoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1BTRSkpID09CiAgICAgICAgICAgICAgIChfUEFH RV9QU0UgfCBfUEFHRV9QUkVTRU5UKSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmIChob3Rh ZGRfbWVtX3ZhbGlkKGwyZV9nZXRfcGZuKGwyZSksIGluZm8pKQorICAgICAgICAgICAgaWYgKCBo b3RhZGRfbWVtX3ZhbGlkKGwyZV9nZXRfcGZuKGwyZSksICZpbmZvKSApCiAgICAgICAgICAgICAg ICAgZGVzdHJveV94ZW5fbWFwcGluZ3Moc3ZhICYgfigoMVVMIDw8IEwyX1BBR0VUQUJMRV9TSElG VCkgLSAxKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAoKHN2YSAmIH4oKDFVTCA8PCBMMl9Q QUdFVEFCTEVfU0hJRlQpIC0xICkpICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMVVM IDw8IEwyX1BBR0VUQUJMRV9TSElGVCkgLSAxKSk7CkBAIC03NjksMjggKzc2NiwzMyBAQCBzdGF0 aWMgaW50IHNldHVwX2ZyYW1ldGFibGVfY2h1bmsodm9pZCAqc3RhcnQsIHZvaWQgKmVuZCwKIHsK ICAgICB1bnNpZ25lZCBsb25nIHMgPSAodW5zaWduZWQgbG9uZylzdGFydDsKICAgICB1bnNpZ25l ZCBsb25nIGUgPSAodW5zaWduZWQgbG9uZyllbmQ7Ci0gICAgdW5zaWduZWQgbG9uZyBtZm47Ci0g ICAgaW50IGVycjsKKyAgICB1bnNpZ25lZCBsb25nIGN1ciwgbWZuOworICAgIGludCBlcnIgPSAw OwogCiAgICAgQVNTRVJUKCEocyAmICgoMSA8PCBMMl9QQUdFVEFCTEVfU0hJRlQpIC0gMSkpKTsK ICAgICBBU1NFUlQoIShlICYgKCgxIDw8IEwyX1BBR0VUQUJMRV9TSElGVCkgLSAxKSkpOwogCi0g ICAgZm9yICggOyBzIDwgZTsgcyArPSAoMVVMIDw8IEwyX1BBR0VUQUJMRV9TSElGVCkpCisgICAg Zm9yICggY3VyID0gczsgY3VyIDwgZTsgY3VyICs9ICgxVUwgPDwgTDJfUEFHRVRBQkxFX1NISUZU KSApCiAgICAgewogICAgICAgICBtZm4gPSBhbGxvY19ob3RhZGRfbWZuKGluZm8pOwotICAgICAg ICBlcnIgPSBtYXBfcGFnZXNfdG9feGVuKHMsIG1mbiwgMVVMIDw8IFBBR0VUQUJMRV9PUkRFUiwK KyAgICAgICAgZXJyID0gbWFwX3BhZ2VzX3RvX3hlbihjdXIsIG1mbiwgMVVMIDw8IFBBR0VUQUJM RV9PUkRFUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX0hZUEVSVklTT1Ip OwogICAgICAgICBpZiAoIGVyciApCi0gICAgICAgICAgICByZXR1cm4gZXJyOworICAgICAgICAg ICAgYnJlYWs7CiAgICAgfQotICAgIG1lbXNldChzdGFydCwgLTEsIHMgLSAodW5zaWduZWQgbG9u ZylzdGFydCk7CiAKLSAgICByZXR1cm4gMDsKKyAgICBpZiAoICFlcnIgKQorICAgICAgICBtZW1z ZXQoc3RhcnQsIC0xLCBjdXIgLSBzKTsKKyAgICBlbHNlCisgICAgICAgIGRlc3Ryb3lfeGVuX21h cHBpbmdzKHMsIGN1cik7CisKKyAgICByZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgaW50IGV4dGVu ZF9mcmFtZV90YWJsZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQogewogICAgIHVuc2ln bmVkIGxvbmcgY2lkeCwgbmlkeCwgZWlkeCwgc3BmbiwgZXBmbjsKKyAgICBpbnQgZXJyID0gMDsK IAogICAgIHNwZm4gPSBpbmZvLT5zcGZuOwogICAgIGVwZm4gPSBpbmZvLT5lcGZuOwpAQCAtODA5 LDggKzgxMSw2IEBAIHN0YXRpYyBpbnQgZXh0ZW5kX2ZyYW1lX3RhYmxlKHN0cnVjdCBtZW1faG90 YWRkX2luZm8gKmluZm8pCiAKICAgICB3aGlsZSAoIGNpZHggPCBlaWR4ICkKICAgICB7Ci0gICAg ICAgIGludCBlcnI7Ci0KICAgICAgICAgbmlkeCA9IGZpbmRfbmV4dF9iaXQocGR4X2dyb3VwX3Zh bGlkLCBlaWR4LCBjaWR4KTsKICAgICAgICAgaWYgKCBuaWR4ID49IGVpZHggKQogICAgICAgICAg ICAgbmlkeCA9IGVpZHg7CkBAIC04MTgsMTQgKzgxOCwxOSBAQCBzdGF0aWMgaW50IGV4dGVuZF9m cmFtZV90YWJsZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBkeF90b19wYWdlKG5pZHggKiBQRFhfR1JPVVBfQ09VTlQp LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8pOwogICAgICAgICBp ZiAoIGVyciApCi0gICAgICAgICAgICByZXR1cm4gZXJyOworICAgICAgICAgICAgYnJlYWs7CiAK ICAgICAgICAgY2lkeCA9IGZpbmRfbmV4dF96ZXJvX2JpdChwZHhfZ3JvdXBfdmFsaWQsIGVpZHgs IG5pZHgpOwogICAgIH0KIAotICAgIG1lbXNldChtZm5fdG9fcGFnZShzcGZuKSwgMCwKLSAgICAg ICAgICAgKHVuc2lnbmVkIGxvbmcpbWZuX3RvX3BhZ2UoZXBmbikgLSAodW5zaWduZWQgbG9uZylt Zm5fdG9fcGFnZShzcGZuKSk7Ci0gICAgcmV0dXJuIDA7CisgICAgaWYgKCAhZXJyICkKKyAgICAg ICAgbWVtc2V0KG1mbl90b19wYWdlKHNwZm4pLCAwLAorICAgICAgICAgICAgICAgKHVuc2lnbmVk IGxvbmcpbWZuX3RvX3BhZ2UoZXBmbikgLQorICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcp bWZuX3RvX3BhZ2Uoc3BmbikpOworICAgIGVsc2UKKyAgICAgICAgY2xlYW51cF9mcmFtZV90YWJs ZShzcGZuLCBwZHhfdG9fcGZuKGNpZHggKiBQRFhfR1JPVVBfQ09VTlQpKTsKKworICAgIHJldHVy biBlcnI7CiB9CiAKIHZvaWQgX19pbml0IHN1YmFyY2hfaW5pdF9tZW1vcnkodm9pZCkKQEAgLTE0 MDQsOCArMTQwOSw4IEBAIGludCBtZW1vcnlfYWRkKHVuc2lnbmVkIGxvbmcgc3BmbiwgdW5zaWdu ZWQgbG9uZyBlcGZuLCB1bnNpZ25lZCBpbnQgcHhtKQogICAgIGluZm8uY3VyID0gc3BmbjsKIAog ICAgIHJldCA9IGV4dGVuZF9mcmFtZV90YWJsZSgmaW5mbyk7Ci0gICAgaWYgKHJldCkKLSAgICAg ICAgZ290byBkZXN0cm95X2ZyYW1ldGFibGU7CisgICAgaWYgKCByZXQgKQorICAgICAgICBnb3Rv IHJlc3RvcmVfbm9kZV9zdGF0dXM7CiAKICAgICAvKiBTZXQgbWF4X3BhZ2UgYXMgc2V0dXBfbTJw X3RhYmxlIHdpbGwgdXNlIGl0Ki8KICAgICBpZiAobWF4X3BhZ2UgPCBlcGZuKQpAQCAtMTQ0OCw4 ICsxNDUzLDggQEAgZGVzdHJveV9tMnA6CiAgICAgbWF4X3BhZ2UgPSBvbGRfbWF4OwogICAgIHRv dGFsX3BhZ2VzID0gb2xkX3RvdGFsOwogICAgIG1heF9wZHggPSBwZm5fdG9fcGR4KG1heF9wYWdl IC0gMSkgKyAxOwotZGVzdHJveV9mcmFtZXRhYmxlOgotICAgIGNsZWFudXBfZnJhbWVfdGFibGUo JmluZm8pOworICAgIGNsZWFudXBfZnJhbWVfdGFibGUoc3BmbiwgZXBmbik7CityZXN0b3JlX25v ZGVfc3RhdHVzOgogICAgIGlmICggIW9yaWdfb25saW5lICkKICAgICAgICAgbm9kZV9zZXRfb2Zm bGluZShub2RlKTsKICAgICBOT0RFX0RBVEEobm9kZSktPm5vZGVfc3RhcnRfcGZuID0gb2xkX25v ZGVfc3RhcnQ7Ci0tIAoyLjE0LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK