From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luwei Kang Subject: [PATCH v3] x86/vpmu: add cpu hot unplug notifier for vpmu Date: Sun, 21 May 2017 21:09:42 +0800 Message-ID: <1495372182-12928-1-git-send-email-luwei.kang@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: andrew.cooper3@citrix.com, boris.ostrovsky@oracle.com, Luwei Kang , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCBIb3QgdW5wbHVnIGEgcGh5c2ljYWwgQ1BVIHdpdGggdnBtdSBlbmFibGVkIG1h eSBjYXVzZQpzeXN0ZW0gaGFuZyBkdWUgdG8gc2VuZCBhIHJlbW90ZSBjYWxsIHRvIGFuIG9mZmxp bmVkIHBDUFUuIFRoaXMKcGF0Y2ggYWRkIGEgY3B1IGhvdCB1bnBsdWcgbm90aWZlciB0byBzYXZl IHZwbXUgY29udGV4dCBiZWZvcmUKY3B1IG9mZmxpbmUuCgpDb25zaWRlciBvbmUgc2NlbmFyaW8s IGhvdCB1bnBsdWcgcENQVSBOIHdpdGggdnBtdSBlbmFibGVkLgpUaGUgdmNwdSB3aGljaCBydW5u aW5nIG9uIHRoaXMgcENQVSB3aWxsIGJlIHN3aXRjaCB0byBvdGhlcgpvbmxpbmUgY3B1LiBBIHJl bW90ZSBjYWxsIHdpbGwgYmUgc2VuZCB0byBwQ1BVIE4gdG8gc2F2ZSB0aGUKdnBtdSBjb250ZXh0 IGJlZm9yZSBsb2FkaW5nIHRoZSB2cG11IGNvbnRleHQgb24gdGhpcyBwQ1BVLgpTeXN0ZW0gd2ls bCBoYW5nIGluIGZ1bmN0aW9uIG9uX3NlbGVjdF9jcHVzKCkgYmVjYXVzZSBvZiB0aGF0IHBDUFUK aXMgb2ZmbGluZWQgYW5kIGNhbiBub3QgZG8gYW55IHJlc3BvbmQuCgpTaWduZWQtb2ZmLWJ5OiBM dXdlaSBLYW5nIDxsdXdlaS5rYW5nQGludGVsLmNvbT4KLS0tCnYzOgogMS5hZGQgY3B1X29ubGlu ZSgpIGNoZWNrIGluIHZwbV9sb2FkKCkgYW5kIHZwbXVfYXJjaF9kZXN0cm95KCk7CiAyLmFkZCB2 cG11XyBwcmVmaXguIHJlbmFtZSBjcHVfY2FsbGJhY2soKSB0byB2cG11X2NwdV9jYWxsYmFjaygp Owp2MjoKIDEuZml4IHNvbWUgdHlwbyBhbmQgY29kaW5nIHN0eWxlOwogMi5jaGFuZ2UgInN3aXRo IiB0byAiaWYiIGluIGNwdV9jYWxsYmFjaygpIGJlY2F1c2Ugb2YgdGhlcmUganVzdCBoYXZlIG9u ZSBjYXNlOwogMy5hZGQgVlBNVV9DT05URVhfTE9BREVEIGNoZWNrIGJlZm9yZSBzZW5kIHJlbW90 ZSBjYWxsIGluIHZwbXVfYXJjaF9kZXN0cm95KCk7Ci0tLQogeGVuL2FyY2gveDg2L2NwdS92cG11 LmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L3ZwbXUuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5j CmluZGV4IDAzNDAxZmQuLjQ4NmFmMTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBt dS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5j bHVkZSA8eGVuL3hlbm9wcm9mLmg+CiAjaW5jbHVkZSA8eGVuL2V2ZW50Lmg+CiAjaW5jbHVkZSA8 eGVuL2d1ZXN0X2FjY2Vzcy5oPgorI2luY2x1ZGUgPHhlbi9jcHUuaD4KICNpbmNsdWRlIDxhc20v cmVncy5oPgogI2luY2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KQEAg LTM5NCw4ICszOTUsMTEgQEAgaW50IHZwbXVfbG9hZChzdHJ1Y3QgdmNwdSAqdiwgYm9vbF90IGZy b21fZ3Vlc3QpCiAgICAgaWYgKCAhdnBtdV9pc19zZXQodnBtdSwgVlBNVV9DT05URVhUX0FMTE9D QVRFRCkgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIC8qIEZpcnN0IHRpbWUgdGhpcyBWQ1BV IGlzIHJ1bm5pbmcgaGVyZSAqLwotICAgIGlmICggdnBtdS0+bGFzdF9wY3B1ICE9IHBjcHUgKQor ICAgIC8qCisgICAgICogVGhlIGxhc3QgcENQVSBpcyBzdGlsbCBvbmxpbmUgYW5kIHRoaXMgaXMg dGhlIGZpcnN0IHRpbWUgdGhpcyB2Q1BVCisgICAgICogcnVubmluZyBoZXJlLgorICAgICAqLwor ICAgIGlmICggY3B1X29ubGluZSh2cG11LT5sYXN0X3BjcHUpICYmIHZwbXUtPmxhc3RfcGNwdSAh PSBwY3B1ICkKICAgICB7CiAgICAgICAgIC8qCiAgICAgICAgICAqIEdldCB0aGUgY29udGV4dCBm cm9tIGxhc3QgcGNwdSB0aGF0IHdlIHJhbiBvbi4gTm90ZSB0aGF0IGlmIGFub3RoZXIKQEAgLTU3 NSwxNSArNTc5LDIxIEBAIHN0YXRpYyB2b2lkIHZwbXVfYXJjaF9kZXN0cm95KHN0cnVjdCB2Y3B1 ICp2KQogICAgICAqIFdlIHdpbGwgdGVzdCBpdCBhZ2FpbiBpbiB2cG11X2NsZWFyX2xhc3QoKSB3 aXRoIGludGVycnVwdHMKICAgICAgKiBkaXNhYmxlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgY2xl YXIgc29tZW9uZSBlbHNlLgogICAgICAqLwotICAgIGlmICggcGVyX2NwdShsYXN0X3ZjcHUsIHZw bXUtPmxhc3RfcGNwdSkgPT0gdiApCisgICAgaWYgKCBjcHVfb25saW5lKHZwbXUtPmxhc3RfcGNw dSkgJiYKKyAgICAgICAgICAgIHBlcl9jcHUobGFzdF92Y3B1LCB2cG11LT5sYXN0X3BjcHUpID09 IHYgKQogICAgICAgICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tfb2YodnBtdS0+bGFzdF9wY3B1 KSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2cG11X2NsZWFyX2xhc3QsIHYsIDEpOwogCiAg ICAgaWYgKCB2cG11LT5hcmNoX3ZwbXVfb3BzICYmIHZwbXUtPmFyY2hfdnBtdV9vcHMtPmFyY2hf dnBtdV9kZXN0cm95ICkKICAgICB7Ci0gICAgICAgIC8qIFVubG9hZCBWUE1VIGZpcnN0LiBUaGlz IHdpbGwgc3RvcCBjb3VudGVycyAqLwotICAgICAgICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tf b2YodmNwdV92cG11KHYpLT5sYXN0X3BjcHUpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHZw bXVfc2F2ZV9mb3JjZSwgdiwgMSk7CisgICAgICAgIC8qCisgICAgICAgICAqIFVubG9hZCBWUE1V IGZpcnN0IGlmIFZQTVVfQ09OVEVYVF9MT0FERUQgYmVpbmcgc2V0LgorICAgICAgICAgKiBUaGlz IHdpbGwgc3RvcCBjb3VudGVycy4KKyAgICAgICAgICovCisgICAgICAgIGlmICggdnBtdV9pc19z ZXQodnBtdSwgVlBNVV9DT05URVhUX0xPQURFRCkgKQorICAgICAgICAgICAgb25fc2VsZWN0ZWRf Y3B1cyhjcHVtYXNrX29mKHZjcHVfdnBtdSh2KS0+bGFzdF9wY3B1KSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdnBtdV9zYXZlX2ZvcmNlLCB2LCAxKTsKKwogICAgICAgICAgdnBtdS0+ YXJjaF92cG11X29wcy0+YXJjaF92cG11X2Rlc3Ryb3kodik7CiAgICAgfQogfQpAQCAtODM1LDYg Kzg0NSwzMyBAQCBsb25nIGRvX3hlbnBtdV9vcCh1bnNpZ25lZCBpbnQgb3AsIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0oeGVuX3BtdV9wYXJhbXNfdCkgYXJnKQogICAgIHJldHVybiByZXQ7CiB9CiAK K3N0YXRpYyBpbnQgdnBtdV9jcHVfY2FsbGJhY2soCisgICAgc3RydWN0IG5vdGlmaWVyX2Jsb2Nr ICpuZmIsIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpoY3B1KQoreworICAgIHVuc2lnbmVk IGludCBjcHUgPSAodW5zaWduZWQgbG9uZyloY3B1OworICAgIHN0cnVjdCB2Y3B1ICp2Y3B1ID0g cGVyX2NwdShsYXN0X3ZjcHUsIGNwdSk7CisgICAgc3RydWN0IHZwbXVfc3RydWN0ICp2cG11Owor CisgICAgaWYgKCAhdmNwdSApCisgICAgICAgIHJldHVybiBOT1RJRllfRE9ORTsKKworICAgIHZw bXUgPSB2Y3B1X3ZwbXUodmNwdSk7CisgICAgaWYgKCAhdnBtdV9pc19zZXQodnBtdSwgVlBNVV9D T05URVhUX0FMTE9DQVRFRCkgKQorICAgICAgICByZXR1cm4gTk9USUZZX0RPTkU7CisKKyAgICBp ZiAoIGFjdGlvbiA9PSBDUFVfRFlJTkcgKQorICAgIHsKKyAgICAgICAgdnBtdV9zYXZlX2ZvcmNl KHZjcHUpOworICAgICAgICB2cG11X3Jlc2V0KHZwbXUsIFZQTVVfQ09OVEVYVF9MT0FERUQpOwor ICAgIH0KKworICAgIHJldHVybiBOT1RJRllfRE9ORTsKK30KKworc3RhdGljIHN0cnVjdCBub3Rp Zmllcl9ibG9jayB2cG11X2NwdV9uZmIgPSB7CisgICAgLm5vdGlmaWVyX2NhbGwgPSB2cG11X2Nw dV9jYWxsYmFjaworfTsKKwogc3RhdGljIGludCBfX2luaXQgdnBtdV9pbml0KHZvaWQpCiB7CiAg ICAgaW50IHZlbmRvciA9IGN1cnJlbnRfY3B1X2RhdGEueDg2X3ZlbmRvcjsKQEAgLTg3Miw4ICs5 MDksMTEgQEAgc3RhdGljIGludCBfX2luaXQgdnBtdV9pbml0KHZvaWQpCiAgICAgfQogCiAgICAg aWYgKCB2cG11X21vZGUgIT0gWEVOUE1VX01PREVfT0ZGICkKKyAgICB7CisgICAgICAgIHJlZ2lz dGVyX2NwdV9ub3RpZmllcigmdnBtdV9jcHVfbmZiKTsKICAgICAgICAgcHJpbnRrKFhFTkxPR19J TkZPICJWUE1VOiB2ZXJzaW9uICIgX19zdHJpbmdpZnkoWEVOUE1VX1ZFUl9NQUopICIuIgogICAg ICAgICAgICAgICAgX19zdHJpbmdpZnkoWEVOUE1VX1ZFUl9NSU4pICJcbiIpOworICAgIH0KICAg ICBlbHNlCiAgICAgICAgIG9wdF92cG11X2VuYWJsZWQgPSAwOwogCi0tIAoxLjguMy4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==