From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boqun Feng Subject: [PATCH v2 07/17] xen: mm: manage EPC pages in Xen heaps Date: Mon, 4 Dec 2017 08:15:18 +0800 Message-ID: <20171204001528.1342-8-boqun.feng@intel.com> References: <20171204001528.1342-1-boqun.feng@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171204001528.1342-1-boqun.feng@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: Kevin Tian , Stefano Stabellini , Wei Liu , Jun Nakajima , George Dunlap , Andrew Cooper , Ian Jackson , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Tim Deegan , kai.huang@linux.intel.com, Julien Grall , Jan Beulich , David Scott , Boqun Feng List-Id: xen-devel@lists.xenproject.org RVBDIGlzIGxpbWl0ZWQgcmVzb3VjZSByZXNlcnZlZCBieSBCSU9TLCBhbmQgaXMgcmVwb3J0ZWQg YXMgcmVzZXJ2ZWQKbWVtb3J5IGluIGU4MjAgYnV0IG5vdCBub3JtYWwgbWVtb3J5LiBFUEMgbXVz dCBiZSBtYW5hZ2VkIGluIDRLIHBhZ2VzLAphbmQgY291bGQgbm90IGJlIGFjY2Vzc2VkIG91dHNp ZGUgdGhlIEVuY2xhdmVzLgoKVXNpbmcgdGhlIGV4aXN0aW5nIG1lbW9yeSBhbGxvY2F0aW9uIEFQ SShpLmUuIHRoZSBoZWFwcykgYWxsb3dzIHVzIHRvCm1hbmFnZSBFUEMgcGFnZXMgaW4gYW4gZWZm aWNpZW50IHdheSwgYW5kIG1heSBiZW5lZml0IEVQQyBiYWxsb29uaW5nCmltcGxlbWVudGF0aW9u IGluIHRoZSBmZWF0dXJlLgoKSW4gb3JkZXIgdG8gdXNlIHRoZSBleGlzdGluZyBoZWFwIG1lY2hh bmlzbSB0byBtYW5hZ2UgRVBDIHBhZ2VzLCBhCmRlZGljYXRlZCBNRU1aT05FIGlzIHJlcXVpcmVk LCBiZWNhdXNlIHdlIG5lZWQgdG8gYXZvaWQgdGhlIG1peHR1cmUgb2YKRVBDIHBhZ2VzIGFuZCBu b3JtYWwgcGFnZXMgaW4gb25lIHpvbmUuIEFuZCBmb3IgdGhlIHBhZ2VfdG9fem9uZSgpIHRvCnJl dHVybiB0aGUgcHJvcGVyIHpvbmUgbnVtYmVyLCBzaW1pbGFyIHRvICdQR0NfeGVuX2hlYXAnIGFu ZAonaXNfeGVuX2hlYXBfcGFnZScsICdQR0NfZXBjJyBhbmQgJ2lzX2VwY19wYWdlJyBhcmUgaW50 cm9kdWNlZC4KCkluICdmcmVlX2hlYXBfcGFnZXMnLCAnbmVlZF9zY3J1YicgaXMgcmVzZXQgaWYg dGhlIHBhZ2UgaXMgZm91bmQgdG8gYmUKYW4gRVBDIHBhZ2UsIGJlY2F1c2UgRVBDIHBhZ2VzIGNh biBub3QgYmUgc2NydWJiZWQuIEFuZCB0aGVyZSBpcyBubwplbnRyeSBvZiBFUEMgcGFnZXMgaW4g bTJwIHRhYmxlLCBhcyBpdCdzIG5vdCB1c2VkLCBzbyByZWxhdGVkIHNldHRpbmcgaXMKc2tpcHBl ZC4KCkJlc2lkZXMsIGEgJ01FTUZfZXBjJyBtZW1mbGFnIGlzIGludHJvZHVjZWQgdG8gdGVsbCB0 aGUgYWxsb2NhdG9yIHRvIGdldApFUEMgcGFnZXMgcmF0aGVyIHRoYW4gbm9ybWFsIG1lbW9yeS4K ClNpZ25lZC1vZmYtYnk6IEJvcXVuIEZlbmcgPGJvcXVuLmZlbmdAaW50ZWwuY29tPgotLS0KIHhl bi9jb21tb24vcGFnZV9hbGxvYy5jICB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0KIHhlbi9pbmNsdWRlL2FzbS1hcm0vbW0uaCB8ICAyICsrCiB4ZW4vaW5jbHVkZS9hc20teDg2 L21tLmggfCAgNSArKysrLQogeGVuL2luY2x1ZGUveGVuL21tLmggICAgIHwgIDIgKysKIDQgZmls ZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYyBiL3hlbi9jb21tb24vcGFnZV9hbGxvYy5jCmluZGV4 IDIyMGQ3ZDkxYzYyYi4uM2I5ZDJjMWE1MzRmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BhZ2Vf YWxsb2MuYworKysgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwpAQCAtMzc3LDEyICszNzcsMTQg QEAgbWZuX3QgX19pbml0IGFsbG9jX2Jvb3RfcGFnZXModW5zaWduZWQgbG9uZyBucl9wZm5zLCB1 bnNpZ25lZCBsb25nIHBmbl9hbGlnbikKICAqIEJJTkFSWSBCVUREWSBBTExPQ0FUT1IKICAqLwog Ci0jZGVmaW5lIE1FTVpPTkVfWEVOIDAKKyNkZWZpbmUgTUVNWk9ORV9FUEMgMAorI2RlZmluZSBN RU1aT05FX1hFTiAxCiAjZGVmaW5lIE5SX1pPTkVTICAgIChQQUREUl9CSVRTIC0gUEFHRV9TSElG VCArIDEpCiAKICNkZWZpbmUgYml0c190b196b25lKGIpICgoKGIpIDwgKFBBR0VfU0hJRlQgKyAx KSkgPyAxIDogKChiKSAtIFBBR0VfU0hJRlQpKQotI2RlZmluZSBwYWdlX3RvX3pvbmUocGcpIChp c194ZW5faGVhcF9wYWdlKHBnKSA/IE1FTVpPTkVfWEVOIDogIFwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgKGZsc2wocGFnZV90b19tZm4ocGcpKSA/IDogMSkpCisjZGVmaW5lIHBhZ2VfdG9f em9uZShwZykgKGlzX2VwY19wYWdlKHBnKSA/IE1FTVpPTkVfRVBDIDogIFwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgaXNfeGVuX2hlYXBfcGFnZShwZykgPyBNRU1aT05FX1hFTiA6ICBcCisg ICAgICAgICAgICAgICAgICAgICAgICAgIChmbHNsKHBhZ2VfdG9fbWZuKHBnKSkgPyA6IE1FTVpP TkVfWEVOICsgMSkpCiAKIHR5cGVkZWYgc3RydWN0IHBhZ2VfbGlzdF9oZWFkIGhlYXBfYnlfem9u ZV9hbmRfb3JkZXJfdFtOUl9aT05FU11bTUFYX09SREVSKzFdOwogc3RhdGljIGhlYXBfYnlfem9u ZV9hbmRfb3JkZXJfdCAqX2hlYXBbTUFYX05VTU5PREVTXTsKQEAgLTkyMSw3ICs5MjMsMTIgQEAg c3RhdGljIHN0cnVjdCBwYWdlX2luZm8gKmFsbG9jX2hlYXBfcGFnZXMoCiAgICAgfQogCiAgICAg bm9kZSA9IHBoeXNfdG9fbmlkKHBhZ2VfdG9fbWFkZHIocGcpKTsKLSAgICB6b25lID0gcGFnZV90 b196b25lKHBnKTsKKworICAgIGlmICggbWVtZmxhZ3MgJiBNRU1GX2VwYyApCisgICAgICAgIHpv bmUgPSBNRU1aT05FX0VQQzsKKyAgICBlbHNlCisgICAgICAgIHpvbmUgPSBwYWdlX3RvX3pvbmUo cGcpOworCiAgICAgYnVkZHlfb3JkZXIgPSBQRk5fT1JERVIocGcpOwogCiAgICAgZmlyc3RfZGly dHkgPSBwZy0+dS5mcmVlLmZpcnN0X2RpcnR5OwpAQCAtMTMzMiwxMCArMTMzOSwxNCBAQCBzdGF0 aWMgdm9pZCBmcmVlX2hlYXBfcGFnZXMoCiAgICAgdW5zaWduZWQgbG9uZyBtYXNrLCBtZm4gPSBw YWdlX3RvX21mbihwZyk7CiAgICAgdW5zaWduZWQgaW50IGksIG5vZGUgPSBwaHlzX3RvX25pZChw YWdlX3RvX21hZGRyKHBnKSksIHRhaW50ZWQgPSAwOwogICAgIHVuc2lnbmVkIGludCB6b25lID0g cGFnZV90b196b25lKHBnKTsKKyAgICBib29sIGlzX2VwYyA9IGZhbHNlOwogCiAgICAgQVNTRVJU KG9yZGVyIDw9IE1BWF9PUkRFUik7CiAgICAgQVNTRVJUKG5vZGUgPj0gMCk7CiAKKyAgICBpc19l cGMgPSBpc19lcGNfcGFnZShwZyk7CisgICAgbmVlZF9zY3J1YiA9IG5lZWRfc2NydWIgJiYgIWlz X2VwYzsKKwogICAgIHNwaW5fbG9jaygmaGVhcF9sb2NrKTsKIAogICAgIGZvciAoIGkgPSAwOyBp IDwgKDEgPDwgb3JkZXIpOyBpKysgKQpAQCAtMTM2NCwxMSArMTM3NSwxMyBAQCBzdGF0aWMgdm9p ZCBmcmVlX2hlYXBfcGFnZXMoCiAgICAgICAgIGlmICggcGdbaV0udS5mcmVlLm5lZWRfdGxiZmx1 c2ggKQogICAgICAgICAgICAgcGFnZV9zZXRfdGxiZmx1c2hfdGltZXN0YW1wKCZwZ1tpXSk7CiAK LSAgICAgICAgcGdbaV0udS5mcmVlLnNjcnViYmFibGUgPSB0cnVlOworICAgICAgICBwZ1tpXS51 LmZyZWUuc2NydWJiYWJsZSA9ICFpc19lcGM7CiAKICAgICAgICAgLyogVGhpcyBwYWdlIGlzIG5v dCBhIGd1ZXN0IGZyYW1lIGFueSBtb3JlLiAqLwogICAgICAgICBwYWdlX3NldF9vd25lcigmcGdb aV0sIE5VTEwpOyAvKiBzZXRfZ3Bmbl9mcm9tX21mbiBzbm9vcHMgcGcgb3duZXIgKi8KLSAgICAg ICAgc2V0X2dwZm5fZnJvbV9tZm4obWZuICsgaSwgSU5WQUxJRF9NMlBfRU5UUlkpOworCisgICAg ICAgIGlmICggIWlzX2VwYyApCisgICAgICAgICAgICBzZXRfZ3Bmbl9mcm9tX21mbihtZm4gKyBp LCBJTlZBTElEX00yUF9FTlRSWSk7CiAKICAgICAgICAgaWYgKCBuZWVkX3NjcnViICkKICAgICAg ICAgewpAQCAtMjIzMiw2ICsyMjQ1LDEyIEBAIHN0cnVjdCBwYWdlX2luZm8gKmFsbG9jX2RvbWhl YXBfcGFnZXMoCiAgICAgaWYgKCBtZW1mbGFncyAmIE1FTUZfbm9fb3duZXIgKQogICAgICAgICBt ZW1mbGFncyB8PSBNRU1GX25vX3JlZmNvdW50OwogCisgICAgLyogTUVNRl9lcGMgaW1wbGllcyBN RU1GX25vX3NjcnViICovCisgICAgaWYgKChtZW1mbGFncyAmIE1FTUZfZXBjKSAmJgorICAgICAg ICAhKHBnID0gYWxsb2NfaGVhcF9wYWdlcyhNRU1aT05FX0VQQywgTUVNWk9ORV9FUEMsIG9yZGVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1mbGFncyB8IE1FTUZfbm9fc2Ny dWIsIGQpKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAoIGRtYV9iaXRzaXplICYm ICgoZG1hX3pvbmUgPSBiaXRzX3RvX3pvbmUoZG1hX2JpdHNpemUpKSA8IHpvbmVfaGkpICkKICAg ICAgICAgcGcgPSBhbGxvY19oZWFwX3BhZ2VzKGRtYV96b25lICsgMSwgem9uZV9oaSwgb3JkZXIs IG1lbWZsYWdzLCBkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9tbS5oCmluZGV4IGM3MTVlMjI5MDUxMC4uYmNhMjZmMDI3NDAy IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL21tLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLWFybS9tbS5oCkBAIC0xNTMsNiArMTUzLDggQEAgZXh0ZXJuIHZhZGRyX3QgeGVuaGVhcF92 aXJ0X3N0YXJ0OwogICAgIChtZm5fdmFsaWQoX21mbihtZm4pKSAmJiBpc194ZW5faGVhcF9wYWdl KF9fbWZuX3RvX3BhZ2UobWZuKSkpCiAjZW5kaWYKIAorI2RlZmluZSBpc19lcGNfcGFnZShwYWdl KSAgICAgICAgICAgZmFsc2UKKwogI2RlZmluZSBwYWdlX3NjcnViYmFibGUoX3ApICAgICAgICAg dHJ1ZQogCiAjZGVmaW5lIHBhZ2VfbWVyZ2VhYmxlKF9wMSwgX3AyKSAgICB0cnVlCmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgK aW5kZXggYjBmMGVhMGE4YjVkLi4xZGVkYjgwOTk4MDEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L2FzbS14ODYvbW0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKQEAgLTI1OSw4ICsy NTksMTAgQEAgc3RydWN0IHBhZ2VfaW5mbwogI2RlZmluZSBQR0Nfc3RhdGVfZnJlZSAgICBQR19t YXNrKDMsIDkpCiAjZGVmaW5lIHBhZ2Vfc3RhdGVfaXMocGcsIHN0KSAoKChwZyktPmNvdW50X2lu Zm8mUEdDX3N0YXRlKSA9PSBQR0Nfc3RhdGVfIyNzdCkKIAorI2RlZmluZSBfUEdDX2VwYyAgICAg ICAgICBQR19zaGlmdCgxMCkKKyNkZWZpbmUgUEdDX2VwYyAgICAgICAgICAgUEdfbWFzaygxLCAx MCkKICAvKiBDb3VudCBvZiByZWZlcmVuY2VzIHRvIHRoaXMgZnJhbWUuICovCi0jZGVmaW5lIFBH Q19jb3VudF93aWR0aCAgIFBHX3NoaWZ0KDkpCisjZGVmaW5lIFBHQ19jb3VudF93aWR0aCAgIFBH X3NoaWZ0KDEwKQogI2RlZmluZSBQR0NfY291bnRfbWFzayAgICAoKDFVTDw8UEdDX2NvdW50X3dp ZHRoKS0xKQogCiAvKgpAQCAtMjcxLDYgKzI3Myw3IEBAIHN0cnVjdCBwYWdlX2luZm8KICNkZWZp bmUgUEdDX25lZWRfc2NydWIgICAgUEdDX2FsbG9jYXRlZAogCiAjZGVmaW5lIGlzX3hlbl9oZWFw X3BhZ2UocGFnZSkgKChwYWdlKS0+Y291bnRfaW5mbyAmIFBHQ194ZW5faGVhcCkKKyNkZWZpbmUg aXNfZXBjX3BhZ2UocGFnZSkgKChwYWdlKS0+Y291bnRfaW5mbyAmIFBHQ19lcGMpCiAjZGVmaW5l IGlzX3hlbl9oZWFwX21mbihtZm4pIFwKICAgICAoX19tZm5fdmFsaWQobWZuKSAmJiBpc194ZW5f aGVhcF9wYWdlKF9fbWZuX3RvX3BhZ2UobWZuKSkpCiAjZGVmaW5lIGlzX3hlbl9maXhlZF9tZm4o bWZuKSAgICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9t bS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmgKaW5kZXggZTgxM2MwN2IyMjVjLi43MjFhMjk3NWMx ZDQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL3hl bi9tbS5oCkBAIC0yNTAsNiArMjUwLDggQEAgc3RydWN0IG5wZmVjIHsKICNkZWZpbmUgIE1FTUZf bm9faWNhY2hlX2ZsdXNoICgxVTw8X01FTUZfbm9faWNhY2hlX2ZsdXNoKQogI2RlZmluZSBfTUVN Rl9ub19zY3J1YiAgICA4CiAjZGVmaW5lICBNRU1GX25vX3NjcnViICAgICgxVTw8X01FTUZfbm9f c2NydWIpCisjZGVmaW5lIF9NRU1GX2VwYyAgICAgICAgIDkKKyNkZWZpbmUgIE1FTUZfZXBjICAg ICAgICAgKDFVPDxfTUVNRl9lcGMpCiAjZGVmaW5lIF9NRU1GX25vZGUgICAgICAgIDE2CiAjZGVm aW5lICBNRU1GX25vZGVfbWFzayAgICgoMVUgPDwgKDggKiBzaXplb2Yobm9kZWlkX3QpKSkgLSAx KQogI2RlZmluZSAgTUVNRl9ub2RlKG4pICAgICAoKCgobikgKyAxKSAmIE1FTUZfbm9kZV9tYXNr KSA8PCBfTUVNRl9ub2RlKQotLSAKMi4xNS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==