From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 58/62] xen/shim: allow DomU to have as many vcpus as available Date: Fri, 12 Jan 2018 11:29:06 +0000 Message-ID: <20180112112910.16762-59-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 1eZxze-0004Ac-0f for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 11:59:30 +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 RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClNpbmNlIHRoZSBz aGltIFZDUFVPUF97dXAvZG93bn0gaHlwZXJjYWxsIGlzIHdpcmVkIHRvIHRoZSBwbHVnL3VucGx1 ZwpvZiBDUFVzIHRvIHRoZSBzaGltIGl0c2VsZiwgc3RhcnQgdGhlIHNoaW0gRG9tVSB3aXRoIG9u bHkgdGhlIEJTUApvbmxpbmUsIGFuZCBsZXQgdGhlIGd1ZXN0IGJyaW5nIHVwIG90aGVyIENQVXMg YXMgaXQgbmVlZHMgdGhlbS4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy LnBhdUBjaXRyaXguY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToKIC0gRml4IHNpbmdsZSBsaW5l IGNvbW1lbnQgc3R5bGUuCiAtIFByaW50IERvbSV1IGQtPmRvbWFpbl9pZC4KIC0gQ2hhbmdlIHBv c2l0aW9uIG9mIF9fc3RhcnRfeGVuIGNvbW1lbnQuCi0tLQogeGVuL2FyY2gveDg2L2RvbTBfYnVp bGQuYyAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2FyY2gveDg2 L3B2L2RvbTBfYnVpbGQuYyB8ICAyICstCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAgIHwg MjggKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNl cnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9t MF9idWlsZC5jIGIveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYwppbmRleCA1OTNiZGJjMThiLi4x N2NiMTI3MmMxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tMF9idWlsZC5jCisrKyBiL3hl bi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMKQEAgLTEzOCw5ICsxMzgsMTggQEAgc3RydWN0IHZjcHUg Kl9faW5pdCBkb20wX3NldHVwX3ZjcHUoc3RydWN0IGRvbWFpbiAqZCwKIAogICAgIGlmICggdiAp CiAgICAgewotICAgICAgICBpZiAoICFkLT5pc19waW5uZWQgJiYgIWRvbTBfYWZmaW5pdHlfcmVs YXhlZCApCi0gICAgICAgICAgICBjcHVtYXNrX2NvcHkodi0+Y3B1X2hhcmRfYWZmaW5pdHksICZk b20wX2NwdXMpOwotICAgICAgICBjcHVtYXNrX2NvcHkodi0+Y3B1X3NvZnRfYWZmaW5pdHksICZk b20wX2NwdXMpOworICAgICAgICBpZiAoIHB2X3NoaW0gKQorICAgICAgICB7CisKKyAgICAgICAg ICAgIGNwdW1hc2tfc2V0YWxsKHYtPmNwdV9oYXJkX2FmZmluaXR5KTsKKyAgICAgICAgICAgIGNw dW1hc2tfc2V0YWxsKHYtPmNwdV9zb2Z0X2FmZmluaXR5KTsKKyAgICAgICAgfQorICAgICAgICBl bHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWQtPmlzX3Bpbm5lZCAmJiAhZG9tMF9h ZmZpbml0eV9yZWxheGVkICkKKyAgICAgICAgICAgICAgICBjcHVtYXNrX2NvcHkodi0+Y3B1X2hh cmRfYWZmaW5pdHksICZkb20wX2NwdXMpOworICAgICAgICAgICAgY3B1bWFza19jb3B5KHYtPmNw dV9zb2Z0X2FmZmluaXR5LCAmZG9tMF9jcHVzKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJl dHVybiB2OwpAQCAtMTUzLDYgKzE2MiwyMSBAQCB1bnNpZ25lZCBpbnQgX19pbml0IGRvbTBfbWF4 X3ZjcHVzKHZvaWQpCiAgICAgdW5zaWduZWQgaW50IGksIG1heF92Y3B1cywgbGltaXQ7CiAgICAg bm9kZWlkX3Qgbm9kZTsKIAorICAgIGlmICggcHZfc2hpbSApCisgICAgeworICAgICAgICBub2Rl c19zZXRhbGwoZG9tMF9ub2Rlcyk7CisKKyAgICAgICAgLyoKKyAgICAgICAgICogV2hlbiBib290 aW5nIGluIHNoaW0gbW9kZSBBUHMgYXJlIG5vdCBzdGFydGVkIHVudGlsIHRoZSBndWVzdCBicmlu Z3MKKyAgICAgICAgICogb3RoZXIgdkNQVXMgdXAuCisgICAgICAgICAqLworICAgICAgICBjcHVt YXNrX3NldF9jcHUoMCwgJmRvbTBfY3B1cyk7CisKKyAgICAgICAgLyogT24gUFYgc2hpbSBtb2Rl IGFsbG93IHRoZSBndWVzdCB0byBoYXZlIGFzIG1hbnkgQ1BVcyBhcyBhdmFpbGFibGUuICovCisg ICAgICAgIHJldHVybiBucl9jcHVfaWRzOworICAgIH0KKworCiAgICAgZm9yICggaSA9IDA7IGkg PCBkb20wX25yX3B4bXM7ICsraSApCiAgICAgICAgIGlmICggKG5vZGUgPSBweG1fdG9fbm9kZShk b20wX3B4bXNbaV0pKSAhPSBOVU1BX05PX05PREUgKQogICAgICAgICAgICAgbm9kZV9zZXQobm9k ZSwgZG9tMF9ub2Rlcyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5j IGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwppbmRleCBlMGI2YjE0ZTU4Li5lNzA2NWJm ZGUzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCisrKyBiL3hlbi9h cmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKQEAgLTY5Niw3ICs2OTYsNyBAQCBpbnQgX19pbml0IGRv bTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAgICAgZm9yICggaSA9IDA7IGkgPCBY RU5fTEVHQUNZX01BWF9WQ1BVUzsgaSsrICkKICAgICAgICAgc2hhcmVkX2luZm8oZCwgdmNwdV9p bmZvW2ldLmV2dGNobl91cGNhbGxfbWFzaykgPSAxOwogCi0gICAgcHJpbnRrKCJEb20wIGhhcyBt YXhpbXVtICV1IFZDUFVzXG4iLCBkLT5tYXhfdmNwdXMpOworICAgIHByaW50aygiRG9tJXUgaGFz IG1heGltdW0gJXUgVkNQVXNcbiIsIGQtPmRvbWFpbl9pZCwgZC0+bWF4X3ZjcHVzKTsKIAogICAg IGNwdSA9IHYtPnByb2Nlc3NvcjsKICAgICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1czsg aSsrICkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3Nl dHVwLmMKaW5kZXggMGY0MjgyYzQyZi4uMDg3OTZmNDI1NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMKQEAgLTE1ODQsMTggKzE1ODQs MjYgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlf cCkKIAogICAgIGRvX3ByZXNtcF9pbml0Y2FsbHMoKTsKIAotICAgIGZvcl9lYWNoX3ByZXNlbnRf Y3B1ICggaSApCisgICAgLyoKKyAgICAgKiBOQjogd2hlbiBydW5uaW5nIGFzIGEgUFYgc2hpbSBW Q1BVT1BfdXAvZG93biBpcyB3aXJlZCB0byB0aGUgc2hpbQorICAgICAqIHBoeXNpY2FsIGNwdV9h ZGQvcmVtb3ZlIGZ1bmN0aW9ucywgc28gbGF1bmNoIHRoZSBndWVzdCB3aXRoIG9ubHkKKyAgICAg KiB0aGUgQlNQIG9ubGluZSBhbmQgbGV0IGl0IGJyaW5nIHVwIHRoZSBvdGhlciBDUFVzIGFzIHJl cXVpcmVkLgorICAgICAqLworICAgIGlmICggIXB2X3NoaW0gKQogICAgIHsKLSAgICAgICAgLyog U2V0IHVwIGNwdV90b19ub2RlW10uICovCi0gICAgICAgIHNyYXRfZGV0ZWN0X25vZGUoaSk7Ci0g ICAgICAgIC8qIFNldCB1cCBub2RlX3RvX2NwdW1hc2sgYmFzZWQgb24gY3B1X3RvX25vZGVbXS4g Ki8KLSAgICAgICAgbnVtYV9hZGRfY3B1KGkpOyAgICAgICAgCi0KLSAgICAgICAgaWYgKCAobnVt X29ubGluZV9jcHVzKCkgPCBtYXhfY3B1cykgJiYgIWNwdV9vbmxpbmUoaSkgKQorICAgICAgICBm b3JfZWFjaF9wcmVzZW50X2NwdSAoIGkgKQogICAgICAgICB7Ci0gICAgICAgICAgICBpbnQgcmV0 ID0gY3B1X3VwKGkpOwotICAgICAgICAgICAgaWYgKCByZXQgIT0gMCApCi0gICAgICAgICAgICAg ICAgcHJpbnRrKCJGYWlsZWQgdG8gYnJpbmcgdXAgQ1BVICV1IChlcnJvciAlZClcbiIsIGksIHJl dCk7CisgICAgICAgICAgICAvKiBTZXQgdXAgY3B1X3RvX25vZGVbXS4gKi8KKyAgICAgICAgICAg IHNyYXRfZGV0ZWN0X25vZGUoaSk7CisgICAgICAgICAgICAvKiBTZXQgdXAgbm9kZV90b19jcHVt YXNrIGJhc2VkIG9uIGNwdV90b19ub2RlW10uICovCisgICAgICAgICAgICBudW1hX2FkZF9jcHUo aSk7CisKKyAgICAgICAgICAgIGlmICggKG51bV9vbmxpbmVfY3B1cygpIDwgbWF4X2NwdXMpICYm ICFjcHVfb25saW5lKGkpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBpbnQgcmV0 ID0gY3B1X3VwKGkpOworICAgICAgICAgICAgICAgIGlmICggcmV0ICE9IDAgKQorICAgICAgICAg ICAgICAgICAgICBwcmludGsoIkZhaWxlZCB0byBicmluZyB1cCBDUFUgJXUgKGVycm9yICVkKVxu IiwgaSwgcmV0KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotLSAKMi4xMS4w CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==