From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 53/62] xen/pvshim: support vCPU hotplug Date: Fri, 12 Jan 2018 11:29:01 +0000 Message-ID: <20180112112910.16762-54-wei.liu2@citrix.com> References: <20180112112910.16762-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZxzI-0003OD-5w for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 11:59:08 +0000 In-Reply-To: <20180112112910.16762-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 RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClNpZ25lZC1vZmYt Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgotLS0KQ2hhbmdlcyBz aW5jZSB2MToKIC0gRml4IGhvdHBsdWcgc28gdGhhdCB2LT5pbml0aWFsaXplZCBpcyBjaGVja2Vk IGJlZm9yZSBhdHRlbXB0aW5nIHRvCiAgIGJyaW5nIHVwIHRoZSBwaHlzaWNhbCBDUFUuCiAtIEZp eCBBUk0gY29tcGlsYXRpb24uCi0tLQogeGVuL2FyY2gveDg2L3B2L3NoaW0uYyAgICAgICAgfCA2 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9u L2RvbWFpbi5jICAgICAgICAgICB8IDM4ICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiB4ZW4v aW5jbHVkZS9hc20teDg2L3B2L3NoaW0uaCB8IDEyICsrKysrKysrKwogeGVuL2luY2x1ZGUveGVu L2RvbWFpbi5oICAgICAgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDEwMiBpbnNlcnRpb25zKCsp LCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvc2hpbS5jIGIv eGVuL2FyY2gveDg2L3B2L3NoaW0uYwppbmRleCBlM2UxMDFhNWIxLi42OGVjN2JlZDhlIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvc2hpbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9zaGlt LmMKQEAgLTc1MSw2ICs3NTEsNjkgQEAgc3RhdGljIGxvbmcgcHZfc2hpbV9ncmFudF90YWJsZV9v cCh1bnNpZ25lZCBpbnQgY21kLAogICAgIHJldHVybiByYzsKIH0KIAorbG9uZyBwdl9zaGltX2Nw dV91cCh2b2lkICpkYXRhKQoreworICAgIHN0cnVjdCB2Y3B1ICp2ID0gZGF0YTsKKyAgICBzdHJ1 Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOworICAgIGJvb2wgd2FrZTsKKworICAgIEJVR19PTihz bXBfcHJvY2Vzc29yX2lkKCkgIT0gMCk7CisKKyAgICBkb21haW5fbG9jayhkKTsKKyAgICBpZiAo ICF2LT5pc19pbml0aWFsaXNlZCApCisgICAgeworICAgICAgICBkb21haW5fdW5sb2NrKGQpOwor ICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKKyAgICBpZiAoICFjcHVfb25saW5lKHYt PnZjcHVfaWQpICkKKyAgICB7CisgICAgICAgIGxvbmcgcmMgPSBjcHVfdXBfaGVscGVyKCh2b2lk ICopKHVuc2lnbmVkIGxvbmcpdi0+dmNwdV9pZCk7CisKKyAgICAgICAgaWYgKCByYyApCisgICAg ICAgIHsKKyAgICAgICAgICAgIGRvbWFpbl91bmxvY2soZCk7CisgICAgICAgICAgICBncHJpbnRr KFhFTkxPR19FUlIsICJGYWlsZWQgdG8gYnJpbmcgdXAgQ1BVIyV1OiAlbGRcbiIsCisgICAgICAg ICAgICAgICAgICAgIHYtPnZjcHVfaWQsIHJjKTsKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAg ICAgICAgfQorICAgIH0KKworICAgIHdha2UgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoX1ZQRl9kb3du LCAmdi0+cGF1c2VfZmxhZ3MpOworICAgIGRvbWFpbl91bmxvY2soZCk7CisgICAgaWYgKCB3YWtl ICkKKyAgICAgICAgdmNwdV93YWtlKHYpOworCisgICAgcmV0dXJuIDA7Cit9CisKK2xvbmcgcHZf c2hpbV9jcHVfZG93bih2b2lkICpkYXRhKQoreworICAgIHN0cnVjdCB2Y3B1ICp2ID0gZGF0YTsK KyAgICBsb25nIHJjOworCisgICAgQlVHX09OKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwKTsKKwor ICAgIGlmICggIXRlc3RfYW5kX3NldF9iaXQoX1ZQRl9kb3duLCAmdi0+cGF1c2VfZmxhZ3MpICkK KyAgICAgICAgdmNwdV9zbGVlcF9zeW5jKHYpOworCisgICAgaWYgKCBjcHVfb25saW5lKHYtPnZj cHVfaWQpICkKKyAgICB7CisgICAgICAgIHJjID0gY3B1X2Rvd25faGVscGVyKCh2b2lkICopKHVu c2lnbmVkIGxvbmcpdi0+dmNwdV9pZCk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICAgICAg Z3ByaW50ayhYRU5MT0dfRVJSLCAiRmFpbGVkIHRvIGJyaW5nIGRvd24gQ1BVIyV1OiAlbGRcbiIs CisgICAgICAgICAgICAgICAgICAgIHYtPnZjcHVfaWQsIHJjKTsKKyAgICAgICAgLyoKKyAgICAg ICAgICogTkI6IGRvIG5vdCBwcm9wYWdhdGUgZXJyb3JzIGZyb20gY3B1X2Rvd25faGVscGVyIGZh aWxpbmcuIFRoZSBzaGltCisgICAgICAgICAqIGlzIGdvaW5nIHRvIHJ1biB3aXRoIGV4dHJhIENQ VXMsIGJ1dCB0aGF0J3Mgbm90IGdvaW5nIHRvIHByZXZlbnQKKyAgICAgICAgICogbm9ybWFsIG9w ZXJhdGlvbi4gT1RPSCBtb3N0IGd1ZXN0cyBhcmUgbm90IHByZXBhcmVkIHRvIGhhbmRsZSBhbgor ICAgICAgICAgKiBlcnJvciBvbiBWQ1BVT1BfZG93biBmYWlsaW5nLCBhbmQgd2lsbCBsaWtlbHkg cGFuaWMuCisgICAgICAgICAqLworICAgIH0KKworICAgIHJldHVybiAwOworfQorCiBkb21pZF90 IGdldF9pbml0aWFsX2RvbWFpbl9pZCh2b2lkKQogewogICAgIHVpbnQzMl90IGVheCwgZWJ4LCBl Y3gsIGVkeDsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tYWluLmMgYi94ZW4vY29tbW9uL2Rv bWFpbi5jCmluZGV4IDZlZDIxYjI1MzYuLjU1ODMxOGU4NTIgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t b24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAtMTMwMSwyMiArMTMwMSwz NiBAQCBsb25nIGRvX3ZjcHVfb3AoaW50IGNtZCwgdW5zaWduZWQgaW50IHZjcHVpZCwgWEVOX0dV RVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNl IFZDUFVPUF91cDogewotICAgICAgICBib29sX3Qgd2FrZSA9IDA7Ci0gICAgICAgIGRvbWFpbl9s b2NrKGQpOwotICAgICAgICBpZiAoICF2LT5pc19pbml0aWFsaXNlZCApCi0gICAgICAgICAgICBy YyA9IC1FSU5WQUw7CisgICAgY2FzZSBWQ1BVT1BfdXA6CisjaWZkZWYgQ09ORklHX1g4NgorICAg ICAgICBpZiAoIHB2X3NoaW0gKQorICAgICAgICAgICAgcmMgPSBjb250aW51ZV9oeXBlcmNhbGxf b25fY3B1KDAsIHB2X3NoaW1fY3B1X3VwLCB2KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAg d2FrZSA9IHRlc3RfYW5kX2NsZWFyX2JpdChfVlBGX2Rvd24sICZ2LT5wYXVzZV9mbGFncyk7Ci0g ICAgICAgIGRvbWFpbl91bmxvY2soZCk7Ci0gICAgICAgIGlmICggd2FrZSApCi0gICAgICAgICAg ICB2Y3B1X3dha2Uodik7CisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgYm9vbCB3YWtl ID0gZmFsc2U7CisKKyAgICAgICAgICAgIGRvbWFpbl9sb2NrKGQpOworICAgICAgICAgICAgaWYg KCAhdi0+aXNfaW5pdGlhbGlzZWQgKQorICAgICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAg ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB3YWtlID0gdGVzdF9hbmRfY2xlYXJfYml0 KF9WUEZfZG93biwgJnYtPnBhdXNlX2ZsYWdzKTsKKyAgICAgICAgICAgIGRvbWFpbl91bmxvY2so ZCk7CisgICAgICAgICAgICBpZiAoIHdha2UgKQorICAgICAgICAgICAgICAgIHZjcHVfd2FrZSh2 KTsKKyAgICAgICAgfQorCiAgICAgICAgIGJyZWFrOwotICAgIH0KIAogICAgIGNhc2UgVkNQVU9Q X2Rvd246Ci0gICAgICAgIGlmICggIXRlc3RfYW5kX3NldF9iaXQoX1ZQRl9kb3duLCAmdi0+cGF1 c2VfZmxhZ3MpICkKLSAgICAgICAgICAgIHZjcHVfc2xlZXBfbm9zeW5jKHYpOworI2lmZGVmIENP TkZJR19YODYKKyAgICAgICAgaWYgKCBwdl9zaGltICkKKyAgICAgICAgICAgIHJjID0gY29udGlu dWVfaHlwZXJjYWxsX29uX2NwdSgwLCBwdl9zaGltX2NwdV9kb3duLCB2KTsKKyAgICAgICAgZWxz ZQorI2VuZGlmCisgICAgICAgICAgICBpZiAoICF0ZXN0X2FuZF9zZXRfYml0KF9WUEZfZG93biwg JnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAgICAgICAgICAgdmNwdV9zbGVlcF9ub3N5bmModik7 CisKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFZDUFVPUF9pc191cDoKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wdi9z aGltLmgKaW5kZXggMGVmNDUyMTU4ZS4uZWI1OWRkZDM4YSAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wdi9zaGltLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wdi9zaGltLmgK QEAgLTM3LDYgKzM3LDggQEAgdm9pZCBwdl9zaGltX3NldHVwX2RvbShzdHJ1Y3QgZG9tYWluICpk LCBsNF9wZ2VudHJ5X3QgKmw0c3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0X2lu Zm9fdCAqc2kpOwogaW50IHB2X3NoaW1fc2h1dGRvd24odWludDhfdCByZWFzb24pOwogdm9pZCBw dl9zaGltX2luamVjdF9ldnRjaG4odW5zaWduZWQgaW50IHBvcnQpOworbG9uZyBwdl9zaGltX2Nw dV91cCh2b2lkICpkYXRhKTsKK2xvbmcgcHZfc2hpbV9jcHVfZG93bih2b2lkICpkYXRhKTsKIGRv bWlkX3QgZ2V0X2luaXRpYWxfZG9tYWluX2lkKHZvaWQpOwogdWludDY0X3QgcHZfc2hpbV9tZW0o dWludDY0X3QgYXZhaWwpOwogCkBAIC02MCw2ICs2MiwxNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQg cHZfc2hpbV9pbmplY3RfZXZ0Y2huKHVuc2lnbmVkIGludCBwb3J0KQogewogICAgIEFTU0VSVF9V TlJFQUNIQUJMRSgpOwogfQorc3RhdGljIGlubGluZSBsb25nIHB2X3NoaW1fY3B1X3VwKHZvaWQg KmRhdGEpCit7CisgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgcmV0dXJuIDA7Cit9Citz dGF0aWMgaW5saW5lIGxvbmcgcHZfc2hpbV9jcHVfZG93bih2b2lkICpkYXRhKQoreworICAgIEFT U0VSVF9VTlJFQUNIQUJMRSgpOworICAgIHJldHVybiAwOworfQogc3RhdGljIGlubGluZSBkb21p ZF90IGdldF9pbml0aWFsX2RvbWFpbl9pZCh2b2lkKQogewogICAgIHJldHVybiAwOwpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5o CmluZGV4IDM0N2YyNjQwNDcuLmViNjJmMWRhYjEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hl bi9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKQEAgLTE3LDYgKzE3LDcg QEAgc3RydWN0IHZjcHUgKmFsbG9jX3ZjcHUoCiAgICAgc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IHZjcHVfaWQsIHVuc2lnbmVkIGludCBjcHVfaWQpOwogc3RydWN0IHZjcHUgKmFsbG9j X2RvbTBfdmNwdTAoc3RydWN0IGRvbWFpbiAqZG9tMCk7CiBpbnQgdmNwdV9yZXNldChzdHJ1Y3Qg dmNwdSAqKTsKK2ludCB2Y3B1X3VwKHN0cnVjdCB2Y3B1ICp2KTsKIAogc3RydWN0IHhlbl9kb21j dGxfZ2V0ZG9tYWluaW5mbzsKIHZvaWQgZ2V0ZG9tYWluaW5mbyhzdHJ1Y3QgZG9tYWluICpkLCBz dHJ1Y3QgeGVuX2RvbWN0bF9nZXRkb21haW5pbmZvICppbmZvKTsKLS0gCjIuMTEuMAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=