From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 44/74] xen/pvshim: keep track of unused pages Date: Thu, 4 Jan 2018 13:05:55 +0000 Message-ID: <20180104130625.28605-45-wei.liu2@citrix.com> References: <20180104130625.28605-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eX5Za-0003ww-Sd for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:28:42 +0000 In-Reply-To: <20180104130625.28605-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org U2ltcGxlIGluZnJhc3RydWN0dXJlIHRvIGtlZXAgdHJhY2sgb2YgYWxsb2NhdGUgYW5kIGZyZWUg dW51c2VkIHBhZ2VzLApzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSB0byBtYXAgc3BlY2lhbCBwYWdl cyBsaWtlIHNoYXJlZCBpbmZvIGFuZApncmFudCB0YWJsZS4KCkFzIHJhbmdlc2V0IGRlcGVuZHMg b24gbWFsbG9jIGJlaW5nIHJlYWR5IHdlIGludHJvZHVjZQpoeXBlcnZpc29yX3NldHVwIGZvciB0 aGluZ3MgdGhhdCBjYW4gYmUgaW5pdGlhbGlzZWQgbGF0ZSBpbiB0aGUKcHJvY2Vzcy4KClNpZ25l ZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uZSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ClNpZ25lZC1v ZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2d1 ZXN0L3hlbi5jICAgICAgICB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAgICAgIHwgIDMgKysrCiB4ZW4vaW5j bHVkZS9hc20teDg2L2d1ZXN0L3hlbi5oIHwgMjIgKysrKysrKysrKysrKysrKysrKwogMyBmaWxl cyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2d1 ZXN0L3hlbi5jIGIveGVuL2FyY2gveDg2L2d1ZXN0L3hlbi5jCmluZGV4IDAzMTlhNWY5ZTguLmY2 NmMxMGZiZTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9ndWVzdC94ZW4uYworKysgYi94ZW4v YXJjaC94ODYvZ3Vlc3QveGVuLmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDx4ZW4vaW5p dC5oPgogI2luY2x1ZGUgPHhlbi90eXBlcy5oPgogI2luY2x1ZGUgPHhlbi9wdl9jb25zb2xlLmg+ CisjaW5jbHVkZSA8eGVuL3Jhbmdlc2V0Lmg+CiAKICNpbmNsdWRlIDxhc20vYXBpYy5oPgogI2lu Y2x1ZGUgPGFzbS9ndWVzdC5oPgpAQCAtMzQsNiArMzUsNyBAQCBib29sIHhlbl9ndWVzdDsKIHN0 YXRpYyB1aW50MzJfdCB4ZW5fY3B1aWRfYmFzZTsKIHN0YXRpYyB1aW50OF90IGV2dGNobl91cGNh bGxfdmVjdG9yOwogZXh0ZXJuIGNoYXIgaHlwZXJjYWxsX3BhZ2VbXTsKK3N0YXRpYyBzdHJ1Y3Qg cmFuZ2VzZXQgKm1lbTsKIAogc3RhdGljIHZvaWQgX19pbml0IGZpbmRfeGVuX2xlYXZlcyh2b2lk KQogewpAQCAtMTYxLDkgKzE2MywzOCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9ldnRjaG4o dm9pZCkKICAgICBhcF9zZXR1cF9ldmVudF9jaGFubmVscyh0cnVlKTsKIH0KIAorc3RhdGljIHZv aWQgX19pbml0IGluaXRfbWVtbWFwKHZvaWQpCit7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAg ICBtZW0gPSByYW5nZXNldF9uZXcoTlVMTCwgImhvc3QgbWVtb3J5IG1hcCIsIDApOworICAgIGlm ICggIW1lbSApCisgICAgICAgIHBhbmljKCJmYWlsZWQgdG8gYWxsb2NhdGUgaG9zdCBtZW1vcnkg cmFuZ2VzZXQiKTsKKworICAgIC8qIE1hcmsgdXAgdG8gdGhlIGxhc3QgbWVtb3J5IHBhZ2UgKG9y IDRHQikgYXMgUkFNLiAqLworICAgIGlmICggcmFuZ2VzZXRfYWRkX3JhbmdlKG1lbSwgMCwgbWF4 X3QodW5zaWduZWQgbG9uZywgbWF4X3BhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoR0IoNCkgLSAxKSA+PiBQQUdFX1NISUZUKSkgKQorICAgICAgICBwYW5p YygidW5hYmxlIHRvIGFkZCBSQU0gdG8gbWVtb3J5IHJhbmdlc2V0Iik7CisKKyAgICBmb3IgKCBp ID0gMDsgaSA8IGU4MjAubnJfbWFwOyBpKysgKQorICAgIHsKKyAgICAgICAgc3RydWN0IGU4MjBl bnRyeSAqZSA9ICZlODIwLm1hcFtpXTsKKworICAgICAgICBpZiAoIHJhbmdlc2V0X2FkZF9yYW5n ZShtZW0sIGUtPmFkZHIgPj4gUEFHRV9TSElGVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGUtPmFkZHIgKyBlLT5zaXplKSA+PiBQQUdFX1NISUZUKSApCisgICAgICAgICAgICBw YW5pYygidW5hYmxlIHRvIGFkZCByYW5nZSAlI2x4IC0gJSNseCB0byBtZW1vcnkgcmFuZ2VzZXQi LAorICAgICAgICAgICAgICAgICAgZS0+YWRkciwgZS0+YWRkciArIGUtPnNpemUpOworICAgIH0K K30KKwogdm9pZCBfX2luaXQgaHlwZXJ2aXNvcl9lYXJseV9zZXR1cChzdHJ1Y3QgZTgyMG1hcCAq ZTgyMCkKIHsKICAgICBtYXBfc2hhcmVkX2luZm8oZTgyMCk7Cit9CisKK3ZvaWQgX19pbml0IGh5 cGVydmlzb3Jfc2V0dXAodm9pZCkKK3sKKyAgICBpbml0X21lbW1hcCgpOwogCiAgICAgaW5pdF9l dnRjaG4oKTsKIH0KQEAgLTE3Myw2ICsyMDQsMjMgQEAgdm9pZCBoeXBlcnZpc29yX2FwX3NldHVw KHZvaWQpCiAgICAgYXBfc2V0dXBfZXZlbnRfY2hhbm5lbHMoZmFsc2UpOwogfQogCitpbnQgaHlw ZXJ2aXNvcl9hbGxvY191bnVzZWRfcGFnZShtZm5fdCAqbWZuKQoreworICAgIHVuc2lnbmVkIGxv bmcgbTsKKyAgICBpbnQgcmM7CisKKyAgICByYyA9IHJhbmdlc2V0X3Jlc2VydmVfaG9sZShtZW0s IDEsICZtKTsKKyAgICBpZiAoICFyYyApCisgICAgICAgICptZm4gPSBfbWZuKG0pOworCisgICAg cmV0dXJuIHJjOworfQorCitpbnQgaHlwZXJ2aXNvcl9mcmVlX3VudXNlZF9wYWdlKG1mbl90IG1m bikKK3sKKyAgICByZXR1cm4gcmFuZ2VzZXRfcmVtb3ZlX3JhbmdlKG1lbSwgbWZuX3gobWZuKSwg bWZuX3gobWZuKSk7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmlu ZGV4IDk5ZjVkNjFlYjguLjFiMzU3NmJjN2QgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1 cC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCkBAIC0xNDgxLDYgKzE0ODEsOSBAQCB2b2lk IF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgICAg ICBtYXhfY3B1cyA9IG5yX2NwdV9pZHM7CiAgICAgfQogCisgICAgaWYgKCB4ZW5fZ3Vlc3QgKQor ICAgICAgICBoeXBlcnZpc29yX3NldHVwKCk7CisKICAgICAvKiBMb3cgbWFwcGluZ3Mgd2VyZSBv bmx5IG5lZWRlZCBmb3Igc29tZSBCSU9TIHRhYmxlIHBhcnNpbmcuICovCiAgICAgemFwX2xvd19t YXBwaW5ncygpOwogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L3hlbi5o IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9ndWVzdC94ZW4uaAppbmRleCA1NmNhYmIxOTM0Li5iYTgy NmQ3NWRiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2d1ZXN0L3hlbi5oCisrKyBi L3hlbi9pbmNsdWRlL2FzbS14ODYvZ3Vlc3QveGVuLmgKQEAgLTMyLDcgKzMyLDEwIEBAIGV4dGVy biBib29sIHhlbl9ndWVzdDsKIAogdm9pZCBwcm9iZV9oeXBlcnZpc29yKHZvaWQpOwogdm9pZCBo eXBlcnZpc29yX2Vhcmx5X3NldHVwKHN0cnVjdCBlODIwbWFwICplODIwKTsKK3ZvaWQgaHlwZXJ2 aXNvcl9zZXR1cCh2b2lkKTsKIHZvaWQgaHlwZXJ2aXNvcl9hcF9zZXR1cCh2b2lkKTsKK2ludCBo eXBlcnZpc29yX2FsbG9jX3VudXNlZF9wYWdlKG1mbl90ICptZm4pOworaW50IGh5cGVydmlzb3Jf ZnJlZV91bnVzZWRfcGFnZShtZm5fdCBtZm4pOwogCiAjZWxzZQogCkBAIC00MywxMSArNDYsMzAg QEAgc3RhdGljIGlubGluZSB2b2lkIGh5cGVydmlzb3JfZWFybHlfc2V0dXAoc3RydWN0IGU4MjBt YXAgKmU4MjApCiB7CiAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiB9OworCitzdGF0aWMgaW5s aW5lIHZvaWQgaHlwZXJ2aXNvcl9zZXR1cCh2b2lkKQoreworICAgIEFTU0VSVF9VTlJFQUNIQUJM RSgpOworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgaHlwZXJ2aXNvcl9hcF9zZXR1cCh2b2lkKQog ewogICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogfTsKIAorc3RhdGljIGlubGluZSBpbnQgaHlw ZXJ2aXNvcl9hbGxvY191bnVzZWRfcGFnZShtZm5fdCAqbWZuKQoreworCisgICAgQVNTRVJUX1VO UkVBQ0hBQkxFKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGh5cGVy dmlzb3JfZnJlZV91bnVzZWRfcGFnZShtZm5fdCBtZm4pCit7CisgICAgQVNTRVJUX1VOUkVBQ0hB QkxFKCk7CisgICAgcmV0dXJuIDA7Cit9CisKICNlbmRpZiAvKiBDT05GSUdfWEVOX0dVRVNUICov CiAjZW5kaWYgLyogX19YODZfR1VFU1RfWEVOX0hfXyAqLwogCi0tIAoyLjExLjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs