From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liang Li Subject: [RFC PATCH] p2m-pt: avoid get the pte falgs repeatedly. Date: Thu, 17 Nov 2016 16:24:18 +0800 Message-ID: <1479371058-4837-1-git-send-email-liang.z.li@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, Liang Li , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIGEgbG90IG9mIGNvZGUgdHJ5IHRvIGdldCB0aGUgcHRlIGZsYWdzIHJlcGVhdGVk bHksIHdoeQpub3Qgc2F2ZSB0aGUgcmVzdWx0IGFuZCByZXVzZSBpdCBpbiB0aGUgZm9sbG93aW5n IGNvZGU/IEl0IGNhbiBoZWxwCnRvIHNhdmUgc29tZSBDUFUgY3ljbGVzIGFuZCBtYWtlIHRoZSBj b2RlIGNsZWFuZXIsIG5vPwoKSSBhbSBub3Qgc3VyZSBpZiB0aGlzIGlzIHRoZSByaWdodCBkaXJl Y3Rpb24sIGp1c3QgY2hhbmdlIG9uZSBwbGFjZS4KClNpZ25lZC1vZmYtYnk6IExpYW5nIExpIDxs aWFuZy56LmxpQGludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMgfCAzNSAr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwppbmRleCAzYjAyNWQ1Li5iYmFh NTRmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKKysrIGIveGVuL2FyY2gv eDg2L21tL3AybS1wdC5jCkBAIC02NCw3ICs2NCw3IEBACiAjZGVmaW5lIGNsZWFyX3JlY2FsYyhs ZXZlbCwgZW50KSBsZXZlbCMjZV9hZGRfZmxhZ3MoZW50LCBSRUNBTENfRkxBR1MpCiAjZGVmaW5l IF9uZWVkc19yZWNhbGMoZmxhZ3MpICghKChmbGFncykgJiBfUEFHRV9VU0VSKSkKICNkZWZpbmUg bmVlZHNfcmVjYWxjKGxldmVsLCBlbnQpIF9uZWVkc19yZWNhbGMobGV2ZWwjI2VfZ2V0X2ZsYWdz KGVudCkpCi0jZGVmaW5lIHZhbGlkX3JlY2FsYyhsZXZlbCwgZW50KSAoIShsZXZlbCMjZV9nZXRf ZmxhZ3MoZW50KSAmIF9QQUdFX0FDQ0VTU0VEKSkKKyNkZWZpbmUgdmFsaWRfcmVjYWxjKGZsYWdz KSAoIShmbGFncyAmIF9QQUdFX0FDQ0VTU0VEKSkKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGxv bmcgcGd0W10gPSB7CiAgICAgUEdUX2wxX3BhZ2VfdGFibGUsCkBAIC0zNjcsNyArMzY3LDcgQEAg c3RhdGljIGludCBkb19yZWNhbGMoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9u ZyBnZm4pCiB7CiAgICAgdm9pZCAqdGFibGU7CiAgICAgdW5zaWduZWQgbG9uZyBnZm5fcmVtYWlu ZGVyID0gZ2ZuOwotICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IDQ7CisgICAgdW5zaWduZWQgaW50 IGxldmVsID0gNCwgcHRlX2ZsYWdzOwogICAgIGwxX3BnZW50cnlfdCAqcGVudDsKICAgICBpbnQg ZXJyID0gMDsKIApAQCAtMzc4LDE1ICszNzgsMjAgQEAgc3RhdGljIGludCBkb19yZWNhbGMoc3Ry dWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm4pCiAKICAgICAgICAgcGVudCA9 IHAybV9maW5kX2VudHJ5KHRhYmxlLCAmcmVtYWluZGVyLCBnZm4sCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsZXZlbCAqIFBBR0VUQUJMRV9PUkRFUiwgMSA8PCBQQUdFVEFCTEVfT1JE RVIpOwotICAgICAgICBpZiAoICFwZW50IHx8ICEobDFlX2dldF9mbGFncygqcGVudCkgJiBfUEFH RV9QUkVTRU5UKSApCisgICAgICAgIGlmICggIXBlbnQgKQorICAgICAgICAgICAgZ290byBvdXQ7 CisJZWxzZQorICAgICAgICAgICAgcHRlX2ZsYWdzID0gbDFlX2dldF9mbGFncygqcGVudCk7CisK KyAgICAgICAgaWYgKCAhKHB0ZV9mbGFncyAmIF9QQUdFX1BSRVNFTlQpICkKICAgICAgICAgICAg IGdvdG8gb3V0OwogCi0gICAgICAgIGlmICggbDFlX2dldF9mbGFncygqcGVudCkgJiBfUEFHRV9Q U0UgKQorICAgICAgICBpZiAoIHB0ZV9mbGFncyAmIF9QQUdFX1BTRSApCiAgICAgICAgIHsKICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWFzayA9IH4wVUwgPDwgKGxldmVsICogUEFHRVRBQkxF X09SREVSKTsKIAotICAgICAgICAgICAgaWYgKCAhbmVlZHNfcmVjYWxjKGwxLCAqcGVudCkgfHwK LSAgICAgICAgICAgICAgICAgIXAybV9pc19jaGFuZ2VhYmxlKHAybV9mbGFnc190b190eXBlKGwx ZV9nZXRfZmxhZ3MoKnBlbnQpKSkgfHwKKyAgICAgICAgICAgIGlmICggIV9uZWVkc19yZWNhbGMo cHRlX2ZsYWdzKSB8fAorICAgICAgICAgICAgICAgICAhcDJtX2lzX2NoYW5nZWFibGUocDJtX2Zs YWdzX3RvX3R5cGUocHRlX2ZsYWdzKSkgfHwKICAgICAgICAgICAgICAgICAgcDJtX2lzX2xvZ2Rp cnR5X3JhbmdlKHAybSwgZ2ZuICYgbWFzaywgZ2ZuIHwgfm1hc2spID49IDAgKQogICAgICAgICAg ICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0zOTcsMjEgKzQwMiwyMSBAQCBzdGF0aWMgaW50 IGRvX3JlY2FsYyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbikKICAg ICAgICAgaWYgKCBlcnIgKQogICAgICAgICAgICAgZ290byBvdXQ7CiAKLSAgICAgICAgaWYgKCBu ZWVkc19yZWNhbGMobDEsICpwZW50KSApCisgICAgICAgIGlmICggX25lZWRzX3JlY2FsYyhwdGVf ZmxhZ3MpICkKICAgICAgICAgewogICAgICAgICAgICAgbDFfcGdlbnRyeV90IGUgPSAqcGVudCwg KnB0YWIgPSB0YWJsZTsKICAgICAgICAgICAgIHVuc2lnbmVkIGludCBpOwogCi0gICAgICAgICAg ICBpZiAoICF2YWxpZF9yZWNhbGMobDEsIGUpICkKKyAgICAgICAgICAgIGlmICggIXZhbGlkX3Jl Y2FsYyhwdGVfZmxhZ3MpICkKICAgICAgICAgICAgICAgICBQMk1fREVCVUcoImJvZ3VzIHJlY2Fs YyBzdGF0ZSBhdCBkJWQ6JWx4OiV1XG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBwMm0t PmRvbWFpbi0+ZG9tYWluX2lkLCBnZm4sIGxldmVsKTsKICAgICAgICAgICAgIHJlbWFpbmRlciA9 IGdmbl9yZW1haW5kZXI7CiAgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxIDw8IFBBR0VU QUJMRV9PUkRFUik7ICsraSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgbDFfcGdl bnRyeV90IGVudCA9IHB0YWJbaV07CisgICAgICAgICAgICAgICAgaW50IGZsYWdzID0gbDFlX2dl dF9mbGFncyhlbnQpOwogCi0gICAgICAgICAgICAgICAgaWYgKCAobDFlX2dldF9mbGFncyhlbnQp ICYgX1BBR0VfUFJFU0VOVCkgJiYKLSAgICAgICAgICAgICAgICAgICAgICFuZWVkc19yZWNhbGMo bDEsIGVudCkgKQorICAgICAgICAgICAgICAgIGlmICggKGZsYWdzICYgX1BBR0VfUFJFU0VOVCkg JiYgIV9uZWVkc19yZWNhbGMoZmxhZ3MpICkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgIHNldF9yZWNhbGMobDEsIGVudCk7CiAgICAgICAgICAgICAgICAgICAgIHAybS0+ d3JpdGVfcDJtX2VudHJ5KHAybSwgZ2ZuIC0gcmVtYWluZGVyLCAmcHRhYltpXSwKQEAgLTQyOCwx NSArNDMzLDE3IEBAIHN0YXRpYyBpbnQgZG9fcmVjYWxjKHN0cnVjdCBwMm1fZG9tYWluICpwMm0s IHVuc2lnbmVkIGxvbmcgZ2ZuKQogCiAgICAgcGVudCA9IHAybV9maW5kX2VudHJ5KHRhYmxlLCAm Z2ZuX3JlbWFpbmRlciwgZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCAqIFBB R0VUQUJMRV9PUkRFUiwgMSA8PCBQQUdFVEFCTEVfT1JERVIpOwotICAgIGlmICggcGVudCAmJiAo bDFlX2dldF9mbGFncygqcGVudCkgJiBfUEFHRV9QUkVTRU5UKSAmJgotICAgICAgICAgbmVlZHNf cmVjYWxjKGwxLCAqcGVudCkgKQorICAgIGlmICghcGVudCkKKyAgICAgICAgZ290byBvdXQ7Cisg ICAgcHRlX2ZsYWdzID0gbDFlX2dldF9mbGFncygqcGVudCk7CisgICAgaWYgKCAocHRlX2ZsYWdz ICYgX1BBR0VfUFJFU0VOVCkgJiYgX25lZWRzX3JlY2FsYyhwdGVfZmxhZ3MpICkKICAgICB7CiAg ICAgICAgIGwxX3BnZW50cnlfdCBlID0gKnBlbnQ7CiAKLSAgICAgICAgaWYgKCAhdmFsaWRfcmVj YWxjKGwxLCBlKSApCisgICAgICAgIGlmICggIXZhbGlkX3JlY2FsYyhwdGVfZmxhZ3MpICkKICAg ICAgICAgICAgIFAyTV9ERUJVRygiYm9ndXMgcmVjYWxjIGxlYWYgYXQgZCVkOiVseDoldVxuIiwK ICAgICAgICAgICAgICAgICAgICAgICBwMm0tPmRvbWFpbi0+ZG9tYWluX2lkLCBnZm4sIGxldmVs KTsKLSAgICAgICAgaWYgKCBwMm1faXNfY2hhbmdlYWJsZShwMm1fZmxhZ3NfdG9fdHlwZShsMWVf Z2V0X2ZsYWdzKGUpKSkgKQorICAgICAgICBpZiAoIHAybV9pc19jaGFuZ2VhYmxlKHAybV9mbGFn c190b190eXBlKHB0ZV9mbGFncykpICkKICAgICAgICAgewogICAgICAgICAgICAgdW5zaWduZWQg bG9uZyBtYXNrID0gfjBVTCA8PCAobGV2ZWwgKiBQQUdFVEFCTEVfT1JERVIpOwogICAgICAgICAg ICAgcDJtX3R5cGVfdCBwMm10ID0gcDJtX2lzX2xvZ2RpcnR5X3JhbmdlKHAybSwgZ2ZuICYgbWFz aywgZ2ZuIHwgfm1hc2spCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=