From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH RFC v1 66/74] xen/shim: allow DomU to have as many vcpus as available Date: Thu, 4 Jan 2018 13:06:17 +0000 Message-ID: <20180104130625.28605-67-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 1eX5Zn-0004K2-FU for xen-devel@lists.xenproject.org; Thu, 04 Jan 2018 13:28:55 +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 RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClNpbmNlIHRoZSBz aGltIFZDUFVPUF97dXAvZG93bn0gaHlwZXJjYWxsIGlzIHdpcmVkIHRvIHRoZSBwbHVnL3VucGx1 ZwpvZiBDUFVzIHRvIHRoZSBzaGltIGl0c2VsZiwgc3RhcnQgdGhlIHNoaW0gRG9tVSB3aXRoIG9u bHkgdGhlIEJTUApvbmxpbmUsIGFuZCBsZXQgdGhlIGd1ZXN0IGJyaW5nIHVwIG90aGVyIENQVXMg YXMgaXQgbmVlZHMgdGhlbS4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2Vy LnBhdUBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMgICAgfCAzMiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2FyY2gveDg2L3B2L2RvbTBfYnVp bGQuYyB8ICAzICsrLQogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgICAgICB8IDI4ICsrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwg MTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYyBi L3hlbi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMKaW5kZXggMzAzNDdiY2M2Ny4uZDU0MTU1YjFhNCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYv ZG9tMF9idWlsZC5jCkBAIC0xMzgsOSArMTM4LDE4IEBAIHN0cnVjdCB2Y3B1ICpfX2luaXQgZG9t MF9zZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsCiAKICAgICBpZiAoIHYgKQogICAgIHsKLSAg ICAgICAgaWYgKCAhZC0+aXNfcGlubmVkICYmICFkb20wX2FmZmluaXR5X3JlbGF4ZWQgKQotICAg ICAgICAgICAgY3B1bWFza19jb3B5KHYtPmNwdV9oYXJkX2FmZmluaXR5LCAmZG9tMF9jcHVzKTsK LSAgICAgICAgY3B1bWFza19jb3B5KHYtPmNwdV9zb2Z0X2FmZmluaXR5LCAmZG9tMF9jcHVzKTsK KyAgICAgICAgaWYgKCBwdl9zaGltICkKKyAgICAgICAgeworCisgICAgICAgICAgICBjcHVtYXNr X3NldGFsbCh2LT5jcHVfaGFyZF9hZmZpbml0eSk7CisgICAgICAgICAgICBjcHVtYXNrX3NldGFs bCh2LT5jcHVfc29mdF9hZmZpbml0eSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAg ICB7CisgICAgICAgICAgICBpZiAoICFkLT5pc19waW5uZWQgJiYgIWRvbTBfYWZmaW5pdHlfcmVs YXhlZCApCisgICAgICAgICAgICAgICAgY3B1bWFza19jb3B5KHYtPmNwdV9oYXJkX2FmZmluaXR5 LCAmZG9tMF9jcHVzKTsKKyAgICAgICAgICAgIGNwdW1hc2tfY29weSh2LT5jcHVfc29mdF9hZmZp bml0eSwgJmRvbTBfY3B1cyk7CisgICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gdjsKQEAg LTE1Myw2ICsxNjIsMjMgQEAgdW5zaWduZWQgaW50IF9faW5pdCBkb20wX21heF92Y3B1cyh2b2lk KQogICAgIHVuc2lnbmVkIGludCBpLCBtYXhfdmNwdXMsIGxpbWl0OwogICAgIG5vZGVpZF90IG5v ZGU7CiAKKyAgICBpZiAoIHB2X3NoaW0gKQorICAgIHsKKyAgICAgICAgbm9kZXNfc2V0YWxsKGRv bTBfbm9kZXMpOworCisgICAgICAgIC8qCisgICAgICAgICAqIFdoZW4gYm9vdGluZyBpbiBzaGlt IG1vZGUgQVBzIGFyZSBub3Qgc3RhcnRlZCB1bnRpbCB0aGUgZ3Vlc3QgYnJpbmdzCisgICAgICAg ICAqIG90aGVyIHZDUFVzIHVwLgorICAgICAgICAgKi8KKyAgICAgICAgY3B1bWFza19zZXRfY3B1 KDAsICZkb20wX2NwdXMpOworCisgICAgICAgIC8qCisgICAgICAgICAqIE9uIFBWIHNoaW0gbW9k ZSBhbGxvdyB0aGUgZ3Vlc3QgdG8gaGF2ZSBhcyBtYW55IENQVXMgYXMgYXZhaWxhYmxlLgorICAg ICAgICAgKi8KKyAgICAgICAgcmV0dXJuIG5yX2NwdV9pZHM7CisgICAgfQorCisKICAgICBmb3Ig KCBpID0gMDsgaSA8IGRvbTBfbnJfcHhtczsgKytpICkKICAgICAgICAgaWYgKCAobm9kZSA9IHB4 bV90b19ub2RlKGRvbTBfcHhtc1tpXSkpICE9IE5VTUFfTk9fTk9ERSApCiAgICAgICAgICAgICBu b2RlX3NldChub2RlLCBkb20wX25vZGVzKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9k b20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCmluZGV4IGY1YTc5M2Ix ZDIuLjJiZWU5ODhmNTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMK KysrIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwpAQCAtNjk1LDcgKzY5NSw4IEBAIGlu dCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwKICAgICBmb3IgKCBp ID0gMDsgaSA8IFhFTl9MRUdBQ1lfTUFYX1ZDUFVTOyBpKysgKQogICAgICAgICBzaGFyZWRfaW5m byhkLCB2Y3B1X2luZm9baV0uZXZ0Y2huX3VwY2FsbF9tYXNrKSA9IDE7CiAKLSAgICBwcmludGso IkRvbTAgaGFzIG1heGltdW0gJXUgVkNQVXNcbiIsIGQtPm1heF92Y3B1cyk7CisgICAgcHJpbnRr KCIlcyBoYXMgbWF4aW11bSAldSBWQ1BVc1xuIiwgcHZfc2hpbSA/ICJEb21VIiA6ICJEb20wIiwK KyAgICAgICAgICAgZC0+bWF4X3ZjcHVzKTsKIAogICAgIGNwdSA9IHYtPnByb2Nlc3NvcjsKICAg ICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1czsgaSsrICkKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9zZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggMzRkNzQ2Mzk1Yi4u YWE2NzAzZDU0MiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2Fy Y2gveDg2L3NldHVwLmMKQEAgLTE1ODAsMjAgKzE1ODAsMjggQEAgdm9pZCBfX2luaXQgbm9yZXR1 cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKIAogICAgIGRvX3ByZXNtcF9pbml0 Y2FsbHMoKTsKIAotICAgIGZvcl9lYWNoX3ByZXNlbnRfY3B1ICggaSApCisgICAgaWYgKCAhcHZf c2hpbSApCiAgICAgewotICAgICAgICAvKiBTZXQgdXAgY3B1X3RvX25vZGVbXS4gKi8KLSAgICAg ICAgc3JhdF9kZXRlY3Rfbm9kZShpKTsKLSAgICAgICAgLyogU2V0IHVwIG5vZGVfdG9fY3B1bWFz ayBiYXNlZCBvbiBjcHVfdG9fbm9kZVtdLiAqLwotICAgICAgICBudW1hX2FkZF9jcHUoaSk7ICAg ICAgICAKLQotICAgICAgICBpZiAoIChudW1fb25saW5lX2NwdXMoKSA8IG1heF9jcHVzKSAmJiAh Y3B1X29ubGluZShpKSApCisgICAgICAgIGZvcl9lYWNoX3ByZXNlbnRfY3B1ICggaSApCiAgICAg ICAgIHsKLSAgICAgICAgICAgIGludCByZXQgPSBjcHVfdXAoaSk7Ci0gICAgICAgICAgICBpZiAo IHJldCAhPSAwICkKLSAgICAgICAgICAgICAgICBwcmludGsoIkZhaWxlZCB0byBicmluZyB1cCBD UFUgJXUgKGVycm9yICVkKVxuIiwgaSwgcmV0KTsKKyAgICAgICAgICAgIC8qIFNldCB1cCBjcHVf dG9fbm9kZVtdLiAqLworICAgICAgICAgICAgc3JhdF9kZXRlY3Rfbm9kZShpKTsKKyAgICAgICAg ICAgIC8qIFNldCB1cCBub2RlX3RvX2NwdW1hc2sgYmFzZWQgb24gY3B1X3RvX25vZGVbXS4gKi8K KyAgICAgICAgICAgIG51bWFfYWRkX2NwdShpKTsKKworICAgICAgICAgICAgaWYgKCAobnVtX29u bGluZV9jcHVzKCkgPCBtYXhfY3B1cykgJiYgIWNwdV9vbmxpbmUoaSkgKQorICAgICAgICAgICAg eworICAgICAgICAgICAgICAgIGludCByZXQgPSBjcHVfdXAoaSk7CisgICAgICAgICAgICAgICAg aWYgKCByZXQgIT0gMCApCisgICAgICAgICAgICAgICAgICAgIHByaW50aygiRmFpbGVkIHRvIGJy aW5nIHVwIENQVSAldSAoZXJyb3IgJWQpXG4iLCBpLCByZXQpOworICAgICAgICAgICAgfQogICAg ICAgICB9CiAgICAgfQorICAgIC8qCisgICAgICogTkI6IHdoZW4gcnVubmluZyBhcyBhIFBWIHNo aW0gVkNQVU9QX3VwL2Rvd24gaXMgd2lyZWQgdG8gdGhlIHNoaW0KKyAgICAgKiBwaHlzaWNhbCBj cHVfYWRkL3JlbW92ZSBmdW5jdGlvbnMsIHNvIGxhdW5jaCB0aGUgZ3Vlc3Qgd2l0aCBvbmx5Cisg ICAgICogdGhlIEJTUCBvbmxpbmUgYW5kIGxldCBpdCBicmluZyB1cCB0aGUgb3RoZXIgQ1BVcyBh cyByZXF1aXJlZC4KKyAgICAgKi8KIAogICAgIHByaW50aygiQnJvdWdodCB1cCAlbGQgQ1BVc1xu IiwgKGxvbmcpbnVtX29ubGluZV9jcHVzKCkpOwogICAgIHNtcF9jcHVzX2RvbmUoKTsKLS0gCjIu MTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=