From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v3 27/39] xen/pmem: release PMEM pages on HVM domain destruction Date: Mon, 11 Sep 2017 12:38:08 +0800 Message-ID: <20170911043820.14617-28-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 , George Dunlap , Andrew Cooper , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org QSBuZXcgc3RlcCBSRUxNRU1fcG1lbSBpcyBhZGRlZCBhbmQgdGFrZW4gYmVmb3JlIFJFTE1FTV94 ZW4gdG8gcmVsZWFzZQphbGwgUE1FTSBwYWdlcyBtYXBwZWQgdG8gYSBIVk0gZG9tYWluLgoKU2ln bmVkLW9mZi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KLS0t CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxh bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxh cEBldS5jaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9kb21haW4uYyAgICAgICAgfCAzMiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAg ICAgICB8ICA5ICsrKysrKystLQogeGVuL2NvbW1vbi9wbWVtLmMgICAgICAgICAgICB8IDEwICsr KysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggfCAgMSArCiB4ZW4vaW5jbHVk ZS94ZW4vcG1lbS5oICAgICAgIHwgIDYgKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDUyIGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFp bi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IGRiZGRjNTM2ZDMuLjFjNGU3ODg3ODAg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9t YWluLmMKQEAgLTE3NTUsMTEgKzE3NTUsMTUgQEAgc3RhdGljIGludCByZWxpbnF1aXNoX21lbW9y eSgKIHsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICAqcGFnZTsKICAgICB1bnNpZ25lZCBsb25nICAg ICB4LCB5OworICAgIGJvb2wgICAgICAgICAgICAgIGlzX3BtZW1fbGlzdCA9IChsaXN0ID09ICZk LT5wbWVtX3BhZ2VfbGlzdCk7CiAgICAgaW50ICAgICAgICAgICAgICAgcmV0ID0gMDsKIAogICAg IC8qIFVzZSBhIHJlY3Vyc2l2ZSBsb2NrLCBhcyB3ZSBtYXkgZW50ZXIgJ2ZyZWVfZG9taGVhcF9w YWdlJy4gKi8KICAgICBzcGluX2xvY2tfcmVjdXJzaXZlKCZkLT5wYWdlX2FsbG9jX2xvY2spOwog CisgICAgaWYgKCBpc19wbWVtX2xpc3QgKQorICAgICAgICBzcGluX2xvY2soJmQtPnBtZW1fbG9j ayk7CisKICAgICB3aGlsZSAoIChwYWdlID0gcGFnZV9saXN0X3JlbW92ZV9oZWFkKGxpc3QpKSAp CiAgICAgewogICAgICAgICAvKiBHcmFiIGEgcmVmZXJlbmNlIHRvIHRoZSBwYWdlIHNvIGl0IHdv bid0IGRpc2FwcGVhciBmcm9tIHVuZGVyIHVzLiAqLwpAQCAtMTg0MSw4ICsxODQ1LDkgQEAgc3Rh dGljIGludCByZWxpbnF1aXNoX21lbW9yeSgKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0g ICAgICAgIC8qIFB1dCB0aGUgcGFnZSBvbiB0aGUgbGlzdCBhbmQgL3RoZW4vIHBvdGVudGlhbGx5 IGZyZWUgaXQuICovCi0gICAgICAgIHBhZ2VfbGlzdF9hZGRfdGFpbChwYWdlLCAmZC0+YXJjaC5y ZWxtZW1fbGlzdCk7CisgICAgICAgIGlmICggIWlzX3BtZW1fbGlzdCApCisgICAgICAgICAgICAv KiBQdXQgdGhlIHBhZ2Ugb24gdGhlIGxpc3QgYW5kIC90aGVuLyBwb3RlbnRpYWxseSBmcmVlIGl0 LiAqLworICAgICAgICAgICAgcGFnZV9saXN0X2FkZF90YWlsKHBhZ2UsICZkLT5hcmNoLnJlbG1l bV9saXN0KTsKICAgICAgICAgcHV0X3BhZ2UocGFnZSk7CiAKICAgICAgICAgaWYgKCBoeXBlcmNh bGxfcHJlZW1wdF9jaGVjaygpICkKQEAgLTE4NTIsMTAgKzE4NTcsMTMgQEAgc3RhdGljIGludCBy ZWxpbnF1aXNoX21lbW9yeSgKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIGxpc3QgaXMgZW1w dHkgYXQgdGhpcyBwb2ludC4gKi8KLSAgICBwYWdlX2xpc3RfbW92ZShsaXN0LCAmZC0+YXJjaC5y ZWxtZW1fbGlzdCk7CisgICAgaWYgKCAhaXNfcG1lbV9saXN0ICkKKyAgICAgICAgLyogbGlzdCBp cyBlbXB0eSBhdCB0aGlzIHBvaW50LiAqLworICAgICAgICBwYWdlX2xpc3RfbW92ZShsaXN0LCAm ZC0+YXJjaC5yZWxtZW1fbGlzdCk7CiAKICBvdXQ6CisgICAgaWYgKCBpc19wbWVtX2xpc3QgKQor ICAgICAgICBzcGluX3VubG9jaygmZC0+cG1lbV9sb2NrKTsKICAgICBzcGluX3VubG9ja19yZWN1 cnNpdmUoJmQtPnBhZ2VfYWxsb2NfbG9jayk7CiAgICAgcmV0dXJuIHJldDsKIH0KQEAgLTE5MjIs MTMgKzE5MzAsMjkgQEAgaW50IGRvbWFpbl9yZWxpbnF1aXNoX3Jlc291cmNlcyhzdHJ1Y3QgZG9t YWluICpkKQogICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAgICAgIH0KIAorI2lmbmRl ZiBDT05GSUdfTlZESU1NX1BNRU0KICAgICAgICAgZC0+YXJjaC5yZWxtZW0gPSBSRUxNRU1feGVu OworI2Vsc2UKKyAgICAgICAgZC0+YXJjaC5yZWxtZW0gPSBSRUxNRU1fcG1lbTsKKyNlbmRpZgog CiAgICAgICAgIHNwaW5fbG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsKICAgICAgICAgcGFnZV9s aXN0X3NwbGljZSgmZC0+YXJjaC5yZWxtZW1fbGlzdCwgJmQtPnBhZ2VfbGlzdCk7CiAgICAgICAg IElOSVRfUEFHRV9MSVNUX0hFQUQoJmQtPmFyY2gucmVsbWVtX2xpc3QpOwogICAgICAgICBzcGlu X3VubG9jaygmZC0+cGFnZV9hbGxvY19sb2NrKTsKIAorI2lmZGVmIENPTkZJR19OVkRJTU1fUE1F TQorICAgICAgICAvKiBGYWxsdGhyb3VnaC4gUmVsaW5xdWlzaCBldmVyeSBwYWdlIG9mIFBNRU0u ICovCisgICAgY2FzZSBSRUxNRU1fcG1lbToKKyAgICAgICAgaWYgKCBpc19odm1fZG9tYWluKGQp ICkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0ID0gcmVsaW5xdWlzaF9tZW1vcnkoZCwgJmQt PnBtZW1fcGFnZV9saXN0LCB+MFVMKTsKKyAgICAgICAgICAgIGlmICggcmV0ICkKKyAgICAgICAg ICAgICAgICByZXR1cm4gcmV0OworICAgICAgICB9CisgICAgICAgIGQtPmFyY2gucmVsbWVtID0g UkVMTUVNX3hlbjsKKyNlbmRpZgorCiAgICAgICAgIC8qIEZhbGx0aHJvdWdoLiBSZWxpbnF1aXNo IGV2ZXJ5IHBhZ2Ugb2YgbWVtb3J5LiAqLwogICAgIGNhc2UgUkVMTUVNX3hlbjoKICAgICAgICAg cmV0ID0gcmVsaW5xdWlzaF9tZW1vcnkoZCwgJmQtPnhlbnBhZ2VfbGlzdCwgfjBVTCk7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDkzY2Nm MTk4YzkuLjI2ZjllNWExM2UgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9tbS5jCkBAIC0xMDYsNiArMTA2LDcgQEAKICNpbmNsdWRlIDx4ZW4vZWZpLmg+ CiAjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGVyY2FsbC5o PgorI2luY2x1ZGUgPHhlbi9wbWVtLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2luZy5oPgogI2luY2x1 ZGUgPGFzbS9zaGFkb3cuaD4KICNpbmNsdWRlIDxhc20vcGFnZS5oPgpAQCAtMjM0MSw4ICsyMzQy LDEyIEBAIHZvaWQgcHV0X3BhZ2Uoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSkKIAogICAgIGlmICgg dW5saWtlbHkoKG54ICYgUEdDX2NvdW50X21hc2spID09IDApICkKICAgICB7Ci0gICAgICAgIGlm ICggIWlzX3BtZW1fcGFnZShwYWdlKSAvKiBQTUVNIHBhZ2UgaXMgbm90IGFsbG9jYXRlZCBmcm9t IFhlbiBoZWFwLiAqLwotICAgICAgICAgICAgICYmIGNsZWFudXBfcGFnZV9jYWNoZWF0dHIocGFn ZSkgPT0gMCApCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisgICAgICAgIGlmICggaXNfcG1l bV9wYWdlKHBhZ2UpICkKKyAgICAgICAgICAgIHBtZW1fcGFnZV9jbGVhbnVwKHBhZ2UpOworICAg ICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgaWYgKCBjbGVhbnVwX3BhZ2VfY2FjaGVhdHRyKHBh Z2UpID09IDAgKQogICAgICAgICAgICAgZnJlZV9kb21oZWFwX3BhZ2UocGFnZSk7CiAgICAgICAg IGVsc2UKICAgICAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLApkaWZmIC0tZ2l0IGEv eGVuL2NvbW1vbi9wbWVtLmMgYi94ZW4vY29tbW9uL3BtZW0uYwppbmRleCAyZjlhZDY0YTI2Li44 YjkzNzhkY2U2IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BtZW0uYworKysgYi94ZW4vY29tbW9u L3BtZW0uYwpAQCAtNzQxLDYgKzc0MSwxNiBAQCBpbnQgcG1lbV9wb3B1bGF0ZShzdHJ1Y3QgeGVu X3BtZW1fbWFwX2FyZ3MgKmFyZ3MpCiAgICAgcmV0dXJuIHJjOwogfQogCit2b2lkIHBtZW1fcGFn ZV9jbGVhbnVwKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCit7CisgICAgQVNTRVJUKGlzX3BtZW1f cGFnZShwYWdlKSk7CisgICAgQVNTRVJUKChwYWdlLT5jb3VudF9pbmZvICYgUEdDX2NvdW50X21h c2spID09IDApOworCisgICAgcGFnZS0+Y291bnRfaW5mbyA9IFBHQ19wbWVtX3BhZ2UgfCBQR0Nf c3RhdGVfZnJlZTsKKyAgICBwYWdlX3NldF9vd25lcihwYWdlLCBOVUxMKTsKKyAgICBzZXRfZ3Bm bl9mcm9tX21mbihwYWdlX3RvX21mbihwYWdlKSwgSU5WQUxJRF9NMlBfRU5UUlkpOworfQorCiBp bnQgX19pbml0IHBtZW1fZG9tMF9zZXR1cF9wZXJtaXNzaW9uKHN0cnVjdCBkb21haW4gKmQpCiB7 CiAgICAgc3RydWN0IGxpc3RfaGVhZCAqY3VyOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggZmI4YmYx NzQ1OC4uODMyMjU0NmI1ZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4u aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0zMDMsNiArMzAzLDcgQEAg c3RydWN0IGFyY2hfZG9tYWluCiAgICAgZW51bSB7CiAgICAgICAgIFJFTE1FTV9ub3Rfc3RhcnRl ZCwKICAgICAgICAgUkVMTUVNX3NoYXJlZCwKKyAgICAgICAgUkVMTUVNX3BtZW0sCiAgICAgICAg IFJFTE1FTV94ZW4sCiAgICAgICAgIFJFTE1FTV9sNCwKICAgICAgICAgUkVMTUVNX2wzLApkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3BtZW0uaCBiL3hlbi9pbmNsdWRlL3hlbi9wbWVtLmgK aW5kZXggMmRhYjkwNTMwYi4uZGZiYzQxMjA2NSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVu L3BtZW0uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vcG1lbS5oCkBAIC0yMSw2ICsyMSw3IEBACiAj aWZkZWYgQ09ORklHX05WRElNTV9QTUVNCiAKICNpbmNsdWRlIDxwdWJsaWMvc3lzY3RsLmg+Cisj aW5jbHVkZSA8eGVuL21tLmg+CiAjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CiAKIGludCBwbWVtX3Jl Z2lzdGVyKHVuc2lnbmVkIGxvbmcgc21mbiwgdW5zaWduZWQgbG9uZyBlbWZuLCB1bnNpZ25lZCBp bnQgcHhtKTsKQEAgLTQ2LDYgKzQ3LDcgQEAgc3RydWN0IHhlbl9wbWVtX21hcF9hcmdzIHsKIH07 CiAKIGludCBwbWVtX3BvcHVsYXRlKHN0cnVjdCB4ZW5fcG1lbV9tYXBfYXJncyAqYXJncyk7Cit2 b2lkIHBtZW1fcGFnZV9jbGVhbnVwKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpOwogCiAjZWxzZSAv KiAhQ09ORklHX1g4NiAqLwogCkBAIC02NCw2ICs2NiwxMCBAQCBzdGF0aWMgaW5saW5lIGludCBw bWVtX3BvcHVsYXRlKC4uLikKICAgICByZXR1cm4gLUVOT1NZUzsKIH0KIAorc3RhdGljIGlubGlu ZSB2b2lkIHBtZW1fcGFnZV9jbGVhbnVwKC4uLikKK3sKK30KKwogI2VuZGlmIC8qIENPTkZJR19Y ODYgKi8KIAogI2VuZGlmIC8qIENPTkZJR19OVkRJTU1fUE1FTSAqLwotLSAKMi4xNC4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==