From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luwei Kang Subject: [PATCH v4] x86/vpmu: add cpu hot unplug notifier for vpmu Date: Tue, 23 May 2017 04:45:40 +0800 Message-ID: <1495485940-20803-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 bCBoYW5nIGluIGZ1bmN0aW9uIG9uX3NlbGVjdF9jcHVzKCkgYmVjYXVzZSBvZiB0aGF0CnBDUFUg aXMgb2ZmbGluZWQgYW5kIGNhbiBub3QgZG8gYW55IHJlc3BvbmQuCgpUaGUgcHVycG9zZSBvZiBh ZGQgYSBWUE1VX0NPTlRFWFRfTE9BREVEIGNoZWNrIGluIHZwbXVfYXJjaF9kZXN0cm95KCkKYmVm b3JlIHNlbmQgYSByZW1vdGUgY2FsbCB0byBzYXZlIHZwbXUgY29udGV4IGlzOgphLiB3aGVuIGEg dnBtdSBjb250ZXh0IGhhcyBiZWVuIGxvYWRlZCBpbiBhIHJlbW90ZSBwQ1BVLCBtYWtlIGEKICAg cmVtb3RlIGNhbGwgdG8gc2F2ZSB0aGUgdnBtdSBjb250ZXggYW5kIHN0b3AgY291bnRlcnMgaXMg bmVjZXNzYXJ5LgpiLiBWUE1VX0NPTlRFWFRfTE9BREVEIGZsYWcgd2lsbCBiZSByZXNldCBpZiBh IHBDUFUgaXMgb2ZmbGluZWQuCiAgIHRoaXMgY2hlY2sgd2lsbCBwcmV2ZW50IHNlbmQgYSByZW1v dGUgY2FsbCB0byBhbiBvZmZsaW5lZCBwQ1BVLgoKU2lnbmVkLW9mZi1ieTogTHV3ZWkgS2FuZyA8 bHV3ZWkua2FuZ0BpbnRlbC5jb20+Ci0tLQp2NDoKIDEucmVtb3ZlIGNwdV9vbmxpbmUoKSBjaGVj ayBpbiB2cG1fbG9hZCgpOwogMi5yZW1vdmUgInZwbXVfIiBwcmVmaXg7CiAzLmZpeCBhIGNvZGlu ZyBzdHlsZTsKIDQuYWRkIHNvbWUgY29tbWl0IG1lc3NhZ2UgYWJvdXQgVlBNVV9DT05URVhUX0xP QURFRCBpbiB2cG11X2FyY2hfZGVzdHJveSgpOwp2MzoKIDEuYWRkIGNwdV9vbmxpbmUoKSBjaGVj ayBpbiB2cG1fbG9hZCgpIGFuZCB2cG11X2FyY2hfZGVzdHJveSgpOwogMi5hZGQgdnBtdV8gcHJl Zml4LiByZW5hbWUgY3B1X2NhbGxiYWNrKCkgdG8gdnBtdV9jcHVfY2FsbGJhY2soKTsKdjI6CiAx LmZpeCBzb21lIHR5cG8gYW5kIGNvZGluZyBzdHlsZTsKIDIuY2hhbmdlICJzd2l0aCIgdG8gImlm IiBpbiBjcHVfY2FsbGJhY2soKSBiZWNhdXNlIG9mIHRoZXJlIGp1c3QgaGF2ZSBvbmUgY2FzZTsK IDMuYWRkIFZQTVVfQ09OVEVYX0xPQURFRCBjaGVjayBiZWZvcmUgc2VuZCByZW1vdGUgY2FsbCBp biB2cG11X2FyY2hfZGVzdHJveSgpOwotLS0KIHhlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jIHwgNDUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvY3B1L3ZwbXUuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCmluZGV4IDAzNDAx ZmQuLjFmNzgzMGIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9jcHUvdnBtdS5jCkBAIC0yMSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8eGVuL3hl bm9wcm9mLmg+CiAjaW5jbHVkZSA8eGVuL2V2ZW50Lmg+CiAjaW5jbHVkZSA8eGVuL2d1ZXN0X2Fj Y2Vzcy5oPgorI2luY2x1ZGUgPHhlbi9jcHUuaD4KICNpbmNsdWRlIDxhc20vcmVncy5oPgogI2lu Y2x1ZGUgPGFzbS90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9tc3IuaD4KQEAgLTU3NSwxNSArNTc2 LDIxIEBAIHN0YXRpYyB2b2lkIHZwbXVfYXJjaF9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQogICAg ICAqIFdlIHdpbGwgdGVzdCBpdCBhZ2FpbiBpbiB2cG11X2NsZWFyX2xhc3QoKSB3aXRoIGludGVy cnVwdHMKICAgICAgKiBkaXNhYmxlZCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgY2xlYXIgc29tZW9u ZSBlbHNlLgogICAgICAqLwotICAgIGlmICggcGVyX2NwdShsYXN0X3ZjcHUsIHZwbXUtPmxhc3Rf cGNwdSkgPT0gdiApCisgICAgaWYgKCBjcHVfb25saW5lKHZwbXUtPmxhc3RfcGNwdSkgJiYKKyAg ICAgICAgIHBlcl9jcHUobGFzdF92Y3B1LCB2cG11LT5sYXN0X3BjcHUpID09IHYgKQogICAgICAg ICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tfb2YodnBtdS0+bGFzdF9wY3B1KSwKICAgICAgICAg ICAgICAgICAgICAgICAgICB2cG11X2NsZWFyX2xhc3QsIHYsIDEpOwogCiAgICAgaWYgKCB2cG11 LT5hcmNoX3ZwbXVfb3BzICYmIHZwbXUtPmFyY2hfdnBtdV9vcHMtPmFyY2hfdnBtdV9kZXN0cm95 ICkKICAgICB7Ci0gICAgICAgIC8qIFVubG9hZCBWUE1VIGZpcnN0LiBUaGlzIHdpbGwgc3RvcCBj b3VudGVycyAqLwotICAgICAgICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tfb2YodmNwdV92cG11 KHYpLT5sYXN0X3BjcHUpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHZwbXVfc2F2ZV9mb3Jj ZSwgdiwgMSk7CisgICAgICAgIC8qCisgICAgICAgICAqIFVubG9hZCBWUE1VIGZpcnN0IGlmIFZQ TVVfQ09OVEVYVF9MT0FERUQgYmVpbmcgc2V0LgorICAgICAgICAgKiBUaGlzIHdpbGwgc3RvcCBj b3VudGVycy4KKyAgICAgICAgICovCisgICAgICAgIGlmICggdnBtdV9pc19zZXQodnBtdSwgVlBN VV9DT05URVhUX0xPQURFRCkgKQorICAgICAgICAgICAgb25fc2VsZWN0ZWRfY3B1cyhjcHVtYXNr X29mKHZjcHVfdnBtdSh2KS0+bGFzdF9wY3B1KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdnBtdV9zYXZlX2ZvcmNlLCB2LCAxKTsKKwogICAgICAgICAgdnBtdS0+YXJjaF92cG11X29w cy0+YXJjaF92cG11X2Rlc3Ryb3kodik7CiAgICAgfQogfQpAQCAtODM1LDYgKzg0MiwzMyBAQCBs b25nIGRvX3hlbnBtdV9vcCh1bnNpZ25lZCBpbnQgb3AsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o eGVuX3BtdV9wYXJhbXNfdCkgYXJnKQogICAgIHJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQg Y3B1X2NhbGxiYWNrKAorICAgIHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmZiLCB1bnNpZ25lZCBs b25nIGFjdGlvbiwgdm9pZCAqaGNwdSkKK3sKKyAgICB1bnNpZ25lZCBpbnQgY3B1ID0gKHVuc2ln bmVkIGxvbmcpaGNwdTsKKyAgICBzdHJ1Y3QgdmNwdSAqdmNwdSA9IHBlcl9jcHUobGFzdF92Y3B1 LCBjcHUpOworICAgIHN0cnVjdCB2cG11X3N0cnVjdCAqdnBtdTsKKworICAgIGlmICggIXZjcHUg KQorICAgICAgICByZXR1cm4gTk9USUZZX0RPTkU7CisKKyAgICB2cG11ID0gdmNwdV92cG11KHZj cHUpOworICAgIGlmICggIXZwbXVfaXNfc2V0KHZwbXUsIFZQTVVfQ09OVEVYVF9BTExPQ0FURUQp ICkKKyAgICAgICAgcmV0dXJuIE5PVElGWV9ET05FOworCisgICAgaWYgKCBhY3Rpb24gPT0gQ1BV X0RZSU5HICkKKyAgICB7CisgICAgICAgIHZwbXVfc2F2ZV9mb3JjZSh2Y3B1KTsKKyAgICAgICAg dnBtdV9yZXNldCh2cG11LCBWUE1VX0NPTlRFWFRfTE9BREVEKTsKKyAgICB9CisKKyAgICByZXR1 cm4gTk9USUZZX0RPTkU7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgY3B1X25m YiA9IHsKKyAgICAubm90aWZpZXJfY2FsbCA9IGNwdV9jYWxsYmFjaworfTsKKwogc3RhdGljIGlu dCBfX2luaXQgdnBtdV9pbml0KHZvaWQpCiB7CiAgICAgaW50IHZlbmRvciA9IGN1cnJlbnRfY3B1 X2RhdGEueDg2X3ZlbmRvcjsKQEAgLTg3Miw4ICs5MDYsMTEgQEAgc3RhdGljIGludCBfX2luaXQg dnBtdV9pbml0KHZvaWQpCiAgICAgfQogCiAgICAgaWYgKCB2cG11X21vZGUgIT0gWEVOUE1VX01P REVfT0ZGICkKKyAgICB7CisgICAgICAgIHJlZ2lzdGVyX2NwdV9ub3RpZmllcigmY3B1X25mYik7 CiAgICAgICAgIHByaW50ayhYRU5MT0dfSU5GTyAiVlBNVTogdmVyc2lvbiAiIF9fc3RyaW5naWZ5 KFhFTlBNVV9WRVJfTUFKKSAiLiIKICAgICAgICAgICAgICAgIF9fc3RyaW5naWZ5KFhFTlBNVV9W RVJfTUlOKSAiXG4iKTsKKyAgICB9CiAgICAgZWxzZQogICAgICAgICBvcHRfdnBtdV9lbmFibGVk ID0gMDsKIAotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=