From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 61/74] xen/pvshim: support vCPU hotplug Date: Thu, 4 Jan 2018 13:06:12 +0000 Message-ID: <20180104130625.28605-62-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 1eX5ZL-0003fZ-Om for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:28:27 +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 RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClNpZ25lZC1vZmYt Ynk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNo L3g4Ni9wdi9zaGltLmMgICAgICAgIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICAgICAgfCAzNyArKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5o IHwgMTIgKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3hlbi9kb21haW4uaCAgICAgIHwgIDEgKwog NCBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvcHYvc2hpbS5jIGIveGVuL2FyY2gveDg2L3B2L3NoaW0uYwpp bmRleCA0NmY3NzM2MmE3Li4yOWYzNDNiODcxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYv c2hpbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9zaGltLmMKQEAgLTc2Niw2ICs3NjYsNTQgQEAg bG9uZyBwdl9zaGltX2dyYW50X3RhYmxlX29wKHVuc2lnbmVkIGludCBjbWQsIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0odm9pZCkgdW9wLAogICAgIHJldHVybiByYzsKIH0KIAorbG9uZyBwdl9zaGlt X2NwdV91cCh2b2lkICpkYXRhKQoreworICAgIHN0cnVjdCB2Y3B1ICp2ID0gZGF0YTsKKyAgICBs b25nIHJjOworCisgICAgQlVHX09OKHNtcF9wcm9jZXNzb3JfaWQoKSAhPSAwKTsKKworICAgIGlm ICggIWNwdV9vbmxpbmUodi0+dmNwdV9pZCkgKQorICAgIHsKKyAgICAgICAgcmMgPSBjcHVfdXBf aGVscGVyKCh2b2lkICopKHVuc2lnbmVkIGxvbmcpdi0+dmNwdV9pZCk7CisgICAgICAgIGlmICgg cmMgKQorICAgICAgICB7CisgICAgICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsICJGYWlsZWQg dG8gYnJpbmcgdXAgQ1BVIyV1OiAlbGRcbiIsCisgICAgICAgICAgICAgICAgICAgIHYtPnZjcHVf aWQsIHJjKTsKKyAgICAgICAgICAgIHJldHVybiByYzsKKyAgICAgICAgfQorICAgIH0KKworICAg IHJldHVybiB2Y3B1X3VwKHYpOworfQorCitsb25nIHB2X3NoaW1fY3B1X2Rvd24odm9pZCAqZGF0 YSkKK3sKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGRhdGE7CisgICAgbG9uZyByYzsKKworICAgIEJV R19PTihzbXBfcHJvY2Vzc29yX2lkKCkgIT0gMCk7CisKKyAgICBpZiAoICF0ZXN0X2FuZF9zZXRf Yml0KF9WUEZfZG93biwgJnYtPnBhdXNlX2ZsYWdzKSApCisgICAgICAgIHZjcHVfc2xlZXBfc3lu Yyh2KTsKKworICAgIGlmICggY3B1X29ubGluZSh2LT52Y3B1X2lkKSApCisgICAgeworICAgICAg ICByYyA9IGNwdV9kb3duX2hlbHBlcigodm9pZCAqKSh1bnNpZ25lZCBsb25nKXYtPnZjcHVfaWQp OworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIGdwcmludGsoWEVOTE9HX0VSUiwgIkZh aWxlZCB0byBicmluZyBkb3duIENQVSMldTogJWxkXG4iLAorICAgICAgICAgICAgICAgICAgICB2 LT52Y3B1X2lkLCByYyk7CisgICAgICAgIC8qCisgICAgICAgICAqIE5COiBkbyBub3QgcHJvcGFn YXRlIGVycm9ycyBmcm9tIGNwdV9kb3duX2hlbHBlciBmYWlsaW5nLiBUaGUgc2hpbQorICAgICAg ICAgKiBpcyBnb2luZyB0byBydW4gd2l0aCBleHRyYSBDUFVzLCBidXQgdGhhdCdzIG5vdCBnb2lu ZyB0byBwcmV2ZW50CisgICAgICAgICAqIG5vcm1hbCBvcGVyYXRpb24uIE9UT0ggbW9zdCBndWVz dHMgYXJlIG5vdCBwcmVwYXJlZCB0byBoYW5kbGUgYW4KKyAgICAgICAgICogZXJyb3Igb24gVkNQ VU9QX2Rvd24gZmFpbGluZywgYW5kIHdpbGwgbGlrZWx5IHBhbmljLgorICAgICAgICAgKi8KKyAg ICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogZG9taWRfdCBnZXRfZG9tMF9kb21pZCh2b2lkKQog ewogICAgIHVpbnQzMl90IGVheCwgZWJ4LCBlY3gsIGVkeDsKZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vZG9tYWluLmMgYi94ZW4vY29tbW9uL2RvbWFpbi5jCmluZGV4IGJjMmNlYjJkMzYuLmMzMGU5 OGIyNGUgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9k b21haW4uYwpAQCAtMTI4MSw2ICsxMjgxLDIzIEBAIGludCBkZWZhdWx0X2luaXRpYWxpc2VfdmNw dShzdHJ1Y3QgdmNwdSAqdiwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAg cmV0dXJuIHJjOwogfQogCitpbnQgdmNwdV91cChzdHJ1Y3QgdmNwdSAqdikKK3sKKyAgICBib29s IHdha2UgPSBmYWxzZTsKKyAgICBpbnQgcmMgPSAwOworCisgICAgZG9tYWluX2xvY2sodi0+ZG9t YWluKTsKKyAgICBpZiAoICF2LT5pc19pbml0aWFsaXNlZCApCisgICAgICAgIHJjID0gLUVJTlZB TDsKKyAgICBlbHNlCisgICAgICAgIHdha2UgPSB0ZXN0X2FuZF9jbGVhcl9iaXQoX1ZQRl9kb3du LCAmdi0+cGF1c2VfZmxhZ3MpOworICAgIGRvbWFpbl91bmxvY2sodi0+ZG9tYWluKTsKKyAgICBp ZiAoIHdha2UgKQorICAgICAgICB2Y3B1X3dha2Uodik7CisKKyAgICByZXR1cm4gcmM7Cit9CisK IGxvbmcgZG9fdmNwdV9vcChpbnQgY21kLCB1bnNpZ25lZCBpbnQgdmNwdWlkLCBYRU5fR1VFU1Rf SEFORExFX1BBUkFNKHZvaWQpIGFyZykKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVu dC0+ZG9tYWluOwpAQCAtMTMwMywyMiArMTMyMCwyMCBAQCBsb25nIGRvX3ZjcHVfb3AoaW50IGNt ZCwgdW5zaWduZWQgaW50IHZjcHVpZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcp CiAKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIFZDUFVPUF91cDogewotICAgICAgICBib29s X3Qgd2FrZSA9IDA7Ci0gICAgICAgIGRvbWFpbl9sb2NrKGQpOwotICAgICAgICBpZiAoICF2LT5p c19pbml0aWFsaXNlZCApCi0gICAgICAgICAgICByYyA9IC1FSU5WQUw7CisgICAgY2FzZSBWQ1BV T1BfdXA6CisgICAgICAgIGlmICggcHZfc2hpbSApCisgICAgICAgICAgICByYyA9IGNvbnRpbnVl X2h5cGVyY2FsbF9vbl9jcHUoMCwgcHZfc2hpbV9jcHVfdXAsIHYpOwogICAgICAgICBlbHNlCi0g ICAgICAgICAgICB3YWtlID0gdGVzdF9hbmRfY2xlYXJfYml0KF9WUEZfZG93biwgJnYtPnBhdXNl X2ZsYWdzKTsKLSAgICAgICAgZG9tYWluX3VubG9jayhkKTsKLSAgICAgICAgaWYgKCB3YWtlICkK LSAgICAgICAgICAgIHZjcHVfd2FrZSh2KTsKKyAgICAgICAgICAgIHJjID0gdmNwdV91cCh2KTsK KwogICAgICAgICBicmVhazsKLSAgICB9CiAKICAgICBjYXNlIFZDUFVPUF9kb3duOgotICAgICAg ICBpZiAoICF0ZXN0X2FuZF9zZXRfYml0KF9WUEZfZG93biwgJnYtPnBhdXNlX2ZsYWdzKSApCisg ICAgICAgIGlmICggcHZfc2hpbSApCisgICAgICAgICAgICByYyA9IGNvbnRpbnVlX2h5cGVyY2Fs bF9vbl9jcHUoMCwgcHZfc2hpbV9jcHVfZG93biwgdik7CisgICAgICAgIGVsc2UgaWYgKCAhdGVz dF9hbmRfc2V0X2JpdChfVlBGX2Rvd24sICZ2LT5wYXVzZV9mbGFncykgKQogICAgICAgICAgICAg dmNwdV9zbGVlcF9ub3N5bmModik7CisKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFZDUFVP UF9pc191cDoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvc2hpbS5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9wdi9zaGltLmgKaW5kZXggMDA5MDZmODg0Yi4uZDEwN2E2MTdhNyAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wdi9zaGltLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wdi9zaGltLmgKQEAgLTQwLDYgKzQwLDggQEAgbG9uZyBwdl9zaGltX2V2ZW50 X2NoYW5uZWxfb3AoaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpOwog dm9pZCBwdl9zaGltX2luamVjdF9ldnRjaG4odW5zaWduZWQgaW50IHBvcnQpOwogbG9uZyBwdl9z aGltX2dyYW50X3RhYmxlX29wKHVuc2lnbmVkIGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFS QU0odm9pZCkgdW9wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBj b3VudCwgYm9vbCBjb21wYXQpOworbG9uZyBwdl9zaGltX2NwdV91cCh2b2lkICpkYXRhKTsKK2xv bmcgcHZfc2hpbV9jcHVfZG93bih2b2lkICpkYXRhKTsKIGRvbWlkX3QgZ2V0X2RvbTBfZG9taWQo dm9pZCk7CiB1aW50NjRfdCBwdl9zaGltX21lbSh1aW50NjRfdCBhdmFpbCk7CiAKQEAgLTc2LDYg Kzc4LDE2IEBAIHN0YXRpYyBpbmxpbmUgbG9uZyBwdl9zaGltX2dyYW50X3RhYmxlX29wKHVuc2ln bmVkIGludCBjbWQsCiAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CiAgICAgcmV0dXJuIDA7CiB9 CitzdGF0aWMgaW5saW5lIGxvbmcgcHZfc2hpbV9jcHVfdXAodm9pZCAqZGF0YSkKK3sKKyAgICBB U1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICByZXR1cm4gMDsKK30KK3N0YXRpYyBpbmxpbmUgbG9u ZyBwdl9zaGltX2NwdV9kb3duKHZvaWQgKmRhdGEpCit7CisgICAgQVNTRVJUX1VOUkVBQ0hBQkxF KCk7CisgICAgcmV0dXJuIDA7Cit9CiBzdGF0aWMgaW5saW5lIGRvbWlkX3QgZ2V0X2RvbTBfZG9t aWQodm9pZCkKIHsKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9k b21haW4uaCBiL3hlbi9pbmNsdWRlL3hlbi9kb21haW4uaAppbmRleCAzNDdmMjY0MDQ3Li5lYjYy ZjFkYWIxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKKysrIGIveGVuL2lu Y2x1ZGUveGVuL2RvbWFpbi5oCkBAIC0xNyw2ICsxNyw3IEBAIHN0cnVjdCB2Y3B1ICphbGxvY192 Y3B1KAogICAgIHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkLCB1bnNpZ25l ZCBpbnQgY3B1X2lkKTsKIHN0cnVjdCB2Y3B1ICphbGxvY19kb20wX3ZjcHUwKHN0cnVjdCBkb21h aW4gKmRvbTApOwogaW50IHZjcHVfcmVzZXQoc3RydWN0IHZjcHUgKik7CitpbnQgdmNwdV91cChz dHJ1Y3QgdmNwdSAqdik7CiAKIHN0cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm87CiB2b2lk IGdldGRvbWFpbmluZm8oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9kb21jdGxfZ2V0ZG9t YWluaW5mbyAqaW5mbyk7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8veGVuLWRldmVs