From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v2 3/5] VT-d PI: restrict the vcpu number on a given pcpu Date: Mon, 15 May 2017 16:48:47 +0100 Message-ID: References: <1494482652-42356-1-git-send-email-chao.gao@intel.com> <1494482652-42356-4-git-send-email-chao.gao@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1494482652-42356-4-git-send-email-chao.gao@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Chao Gao Cc: Andrew Cooper , Kevin Tian , Jun Nakajima , Jan Beulich , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBNYXkgMTEsIDIwMTcgYXQgNzowNCBBTSwgQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVs LmNvbT4gd3JvdGU6Cj4gQ3VycmVudGx5LCBhIGJsb2NrZWQgdkNQVSBpcyBwdXQgaW4gaXRzIHBD UFUncyBwaSBibG9ja2luZyBsaXN0LiBJZgo+IHRvbyBtYW55IHZDUFVzIGFyZSBibG9ja2VkIG9u IGEgZ2l2ZW4gcENQVSwgaXQgd2lsbCBpbmN1ciB0aGF0IHRoZSBsaXN0Cj4gZ3Jvd3MgdG9vIGxv bmcuIEFmdGVyIGEgc2ltcGxlIGFuYWx5c2lzLCB0aGVyZSBhcmUgMzJrIGRvbWFpbnMgYW5kCj4g MTI4IHZjcHUgcGVyIGRvbWFpbiwgdGh1cyBhYm91dCA0TSB2Q1BVcyBtYXkgYmUgYmxvY2tlZCBp biBvbmUgcENQVSdzCj4gUEkgYmxvY2tpbmcgbGlzdC4gV2hlbiBhIHdha2V1cCBpbnRlcnJ1cHQg YXJyaXZlcywgdGhlIGxpc3QgaXMKPiB0cmF2ZXJzZWQgdG8gZmluZCBzb21lIHNwZWNpZmljIHZD UFVzIHRvIHdha2UgdGhlbSB1cC4gVGhpcyB0cmF2ZXJzYWwgaW4KPiB0aGF0IGNhc2Ugd291bGQg Y29uc3VtZSBtdWNoIHRpbWUuCj4KPiBUbyBtaXRpZ2F0ZSB0aGlzIGlzc3VlLCB0aGlzIHBhdGNo IGxpbWl0cyB0aGUgdmNwdSBudW1iZXIgb24gYSBnaXZlbgo+IHBDUFUsIHRha2luZyBmYWN0b3Jz IHN1Y2ggYXMgcGVyZm9tYW5jZSBvZiBjb21tb24gY2FzZSwgY3VycmVudCBodm0gdmNwdQo+IGNv dW50IGFuZCBjdXJyZW50IHBjcHUgY291bnQgaW50byBjb25zaWRlcmF0aW9uLiBXaXRoIHRoaXMg bWV0aG9kLCBmb3IKPiB0aGUgY29tbW9uIGNhc2UsIGl0IHdvcmtzIGZhc3QgYW5kIGZvciBzb21l IGV4dHJlbWUgY2FzZXMsIHRoZSBsaXN0Cj4gbGVuZ3RoIGlzIHVuZGVyIGNvbnRyb2wuCj4KPiBU aGUgY2hhbmdlIGluIHZteF9waV91bmJsb2NrX3ZjcHUoKSBpcyBmb3IgdGhlIGZvbGxvd2luZyBj YXNlOgo+IHZjcHUgaXMgcnVubmluZyAtPiB0cnkgdG8gYmxvY2sgKHRoaXMgcGF0Y2ggbWF5IGNo YW5nZSBOU0RUIHRvCj4gYW5vdGhlciBwQ1BVKSBidXQgbm90aWZpY2F0aW9uIGNvbWVzIGluIHRp bWUsIHRodXMgdGhlIHZjcHUKPiBnb2VzIGJhY2sgdG8gcnVubmluZyBzdGF0aW9uIC0+IFZNLWVu dHJ5ICh3ZSBzaG91bGQgc2V0IE5TRFQgYWdhaW4sCj4gcmV2ZXJ0aW5nIHRoZSBjaGFuZ2Ugd2Ug bWFrZSB0byBOU0RUIGluIHZteF92Y3B1X2Jsb2NrKCkpCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaGFv IEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgo+IC0tLQo+ICB4ZW4vYXJjaC94ODYvaHZtL3ZteC92 bXguYyB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0K PiAgMSBmaWxlIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4KPiBk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZt L3ZteC92bXguYwo+IGluZGV4IGVmZmY2Y2QuLmMwZDBiNTggMTAwNjQ0Cj4gLS0tIGEveGVuL2Fy Y2gveDg2L2h2bS92bXgvdm14LmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwo+ IEBAIC0xMDAsMTYgKzEwMCw3MCBAQCB2b2lkIHZteF9waV9wZXJfY3B1X2luaXQodW5zaWduZWQg aW50IGNwdSkKPiAgICAgIHNwaW5fbG9ja19pbml0KCZwZXJfY3B1KHZteF9waV9ibG9ja2luZywg Y3B1KS5sb2NrKTsKPiAgfQo+Cj4gKy8qCj4gKyAqIENob29zZSBhbiBhcHByb3ByaWF0ZSBwY3B1 IHRvIHJlY2VpdmUgd2FrZXVwIGludGVycnVwdC4KPiArICogQnkgZGVmYXVsdCwgdGhlIGxvY2Fs IHBjcHUgaXMgY2hvc2VuIGFzIHRoZSBkZXN0aW5hdGlvbi4gQnV0IGlmIHRoZQo+ICsgKiB2Y3B1 IG51bWJlciBvZiB0aGUgbG9jYWwgcGNwdSBleGNlZWRzIGEgbGltaXQsIGFub3RoZXIgcGNwdSBp cyBjaG9zZW4uCj4gKyAqCj4gKyAqIEN1cnJlbnRseSwgY2hvb3NlICh2X3RvdC9wX3RvdCkgKyBL IGFzIHRoZSBsaW1pdCBvZiB2Y3B1LCB3aGVyZQo+ICsgKiB2X3RvdCBpcyB0aGUgdG90YWwgbnVt YmVyIG9mIHZjcHVzIG9uIHRoZSBzeXN0ZW0sIHBfdG90IGlzIHRoZSB0b3RhbAo+ICsgKiBudW1i ZXIgb2YgcGNwdXMgaW4gdGhlIHN5c3RlbSwgYW5kIEsgaXMgYSBmaXhlZCBudW1iZXIuIEV4cGVy bWVudHMgc2hvd3MKPiArICogdGhlIG1heGltYWwgdGltZSB0byB3YWtldXAgYSB2Y3B1IGZyb20g YSAxMjgtZW50cnkgYmxvY2tpbmcgbGlzdCBpcwo+ICsgKiBjb25zaWRlcmVkIGFjY2VwdGFibGUu IFNvIGNob29zZSAxMjggYXMgdGhlIGZpeGVkIG51bWJlciBLLgo+ICsgKgo+ICsgKiBUaGlzIHBv bGljeSBtYWtlcyBzdXJlOgo+ICsgKiAxKSBmb3IgY29tbW9uIGNhc2VzLCB0aGUgbGltaXQgd29u J3QgYmUgcmVhY2hlZCBhbmQgdGhlIGxvY2FsIHBjcHUgaXMgdXNlZAo+ICsgKiB3aGljaCBpcyBi ZW5lZmljaWFsIHRvIHBlcmZvcm1hbmNlIChhdCBsZWFzdCwgYXZvaWQgYW4gSVBJIHdoZW4gdW5i bG9ja2luZwo+ICsgKiB2Y3B1KS4KPiArICogMikgZm9yIHRoZSB3b3JzdCBjYXNlLCB0aGUgYmxv Y2tpbmcgbGlzdCBsZW5ndGggc2NhbGVzIHdpdGggdGhlIHZjcHUgY291bnQKPiArICogZGl2aWRl ZCBieSB0aGUgcGNwdSBjb3VudC4KPiArICovCj4gKyNkZWZpbmUgUElfTElTVF9GSVhFRF9OVU0g MTI4Cj4gKyNkZWZpbmUgUElfTElTVF9MSU1JVCAgICAgKGF0b21pY19yZWFkKCZudW1faHZtX3Zj cHVzKSAvIG51bV9vbmxpbmVfY3B1cygpICsgXAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICBQSV9MSVNUX0ZJWEVEX05VTSkKPiArCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgdm14X3BpX2No b29zZV9kZXN0X2NwdShzdHJ1Y3QgdmNwdSAqdikKPiArewo+ICsgICAgaW50IGNvdW50LCBsaW1p dCA9IFBJX0xJU1RfTElNSVQ7Cj4gKyAgICB1bnNpZ25lZCBpbnQgZGVzdCA9IHYtPnByb2Nlc3Nv cjsKPiArCj4gKyAgICBjb3VudCA9IGF0b21pY19yZWFkKCZwZXJfY3B1KHZteF9waV9ibG9ja2lu ZywgZGVzdCkuY291bnRlcik7Cj4gKyAgICB3aGlsZSAoIHVubGlrZWx5KGNvdW50ID49IGxpbWl0 KSApCj4gKyAgICB7Cj4gKyAgICAgICAgZGVzdCA9IGNwdW1hc2tfY3ljbGUoZGVzdCwgJmNwdV9v bmxpbmVfbWFwKTsKPiArICAgICAgICBjb3VudCA9IGF0b21pY19yZWFkKCZwZXJfY3B1KHZteF9w aV9ibG9ja2luZywgZGVzdCkuY291bnRlcik7Cj4gKyAgICB9Cj4gKyAgICByZXR1cm4gZGVzdDsK PiArfQo+ICsKPiAgc3RhdGljIHZvaWQgdm14X3ZjcHVfYmxvY2soc3RydWN0IHZjcHUgKnYpCj4g IHsKPiAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gLSAgICB1bnNpZ25lZCBpbnQgZGVzdDsK PiArICAgIHVuc2lnbmVkIGludCBkZXN0LCBkZXN0X2NwdTsKPiAgICAgIHNwaW5sb2NrX3QgKm9s ZF9sb2NrOwo+IC0gICAgc3BpbmxvY2tfdCAqcGlfYmxvY2tpbmdfbGlzdF9sb2NrID0KPiAtICAg ICAgICAgICAgICAgJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCB2LT5wcm9jZXNzb3IpLmxvY2s7 Cj4gICAgICBzdHJ1Y3QgcGlfZGVzYyAqcGlfZGVzYyA9ICZ2LT5hcmNoLmh2bV92bXgucGlfZGVz YzsKPiArICAgIHNwaW5sb2NrX3QgKnBpX2Jsb2NraW5nX2xpc3RfbG9jazsKPiArCj4gKyAgICAv Kgo+ICsgICAgICogQWZ0ZXIgcENQVSBnb2VzIGRvd24sIHRoZSBwZXItY3B1IFBJIGJsb2NraW5n IGxpc3QgaXMgY2xlYXJlZC4KPiArICAgICAqIFRvIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVyIHZD UFUgaXMgYWRkZWQgdG8gdGhlIGNob3NlbiBwQ1BVJ3MKPiArICAgICAqIFBJIGJsb2NraW5nIGxp c3QgYmVmb3JlIHRoZSBsaXN0IGlzIGNsZWFyZWQsIGp1c3QgcmV0cnkgd2hlbgo+ICsgICAgICog ZmluZGluZyB0aGUgcENQVSBoYXMgZ29uZSBkb3duLiBBbHNvIHJldHJ5IHRvIGNob29zZSBhbm90 aGVyCj4gKyAgICAgKiBwQ1BVIHdoZW4gZmluZGluZyB0aGUgbGlzdCBsZW5ndGggcmVhY2hzIHRo ZSBsaW1pdC4KPiArICAgICAqLwo+ICsgcmV0cnk6Cj4gKyAgICBkZXN0X2NwdSA9IHZteF9waV9j aG9vc2VfZGVzdF9jcHUodik7Cj4gKyAgICBwaV9ibG9ja2luZ19saXN0X2xvY2sgPSAmcGVyX2Nw dSh2bXhfcGlfYmxvY2tpbmcsIGRlc3RfY3B1KS5sb2NrOwo+Cj4gICAgICBzcGluX2xvY2tfaXJx c2F2ZShwaV9ibG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKPiArICAgIGlmICggdW5saWtlbHko KCFjcHVfb25saW5lKGRlc3RfY3B1KSkgfHwKPiArICAgICAgICAgICAgICAgICAgKGF0b21pY19y ZWFkKCZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgZGVzdF9jcHUpLmNvdW50ZXIpID49Cj4gKyAg ICAgICAgICAgICAgICAgICBQSV9MSVNUX0xJTUlUKSkgKQo+ICsgICAgewo+ICsgICAgICAgIHNw aW5fdW5sb2NrX2lycXJlc3RvcmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7Cj4gKyAg ICAgICAgZ290byByZXRyeTsKPiArICAgIH0KCkFsZ29yaXRobWljYWxseSBJIHRoaW5rIHRoaXMg aXMgb24gdGhlIHJpZ2h0IHRyYWNrLiBCdXQgYWxsIHRoZXNlCmF0b21pYyByZWFkcyBhbmQgd3Jp dGVzIGFyZSBhIG1lc3MuICBBdG9taWMgYWNjZXNzZXMgYXJlbid0IGZyZWU7IGFuZAp0aGUgdmFz dCBtYWpvcml0eSBvZiB0aGUgdGltZSB5b3UncmUgZG9pbmcgdGhpbmdzIHdpdGggdGhlCnBpX2Js b2NraW5nX2xpc3RfbG9jayBhbnl3YXkuCgpXaHkgbm90IGRvIHNvbWV0aGluZyBsaWtlIHRoaXMg YXQgdGhlIHRvcCBvZiB2bXhfdmNwdV9ibG9jaygpCihyZXBsYWNpbmcgZGVzdF9jcHUgd2l0aCBw aV9jcHUgZm9yIGNsYXJpdHkpPwoKICAgIHBpX2NwdSA9IHYtPnByb2Nlc3NvcjsKcmV0cnk6CiAg ICBwaV9ibG9ja2luZ19saXN0X2xvY2sgPSAmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIHBpX2Nw dSkubG9jazsKICAgIHNwaW5fbG9ja19pcnFzYXZlKHBpX2Jsb2NraW5nX2xpc3RfbG9jaywgZmxh Z3MpOwogICAgLyoKICAgICAqIFNpbmNlIGRlc3RfY3B1IG1heSBub3cgYmUgb25lIG90aGVyIHRo YW4gdGhlIG9uZSB2IGlzIGN1cnJlbnRseQogICAgICogcnVubmluZyBvbiwgY2hlY2sgdG8gbWFr ZSBzdXJlIHRoYXQgaXQncyBzdGlsbCB1cC4KICAgICAqLwogICAgaWYgKCB1bmxpa2VseSgoIWNw dV9vbmxpbmUocGlfY3B1KSkgfHwKICAgICAgICAgICAgICAgICAgcGlfb3Zlcl9saW1pdChwZXJf Y3B1KHZteF9waV9ibG9ja2luZywgcGlfY3B1KS5jb3VudGVyKSkgKQogICAgewogICAgICAgIHBp X2NwdSA9IGNwdW1hc2tfY3ljbGUocGlfY3B1LCAmY3B1X29ubGluZV9tYXApOwogICAgICAgIHNw aW5fdW5sb2NrX2lycXJlc3RvcmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7CiAgICAg ICAgZ290byByZXRyeTsKICAgIH0KCndoZXJlIHdlIGRlZmluZSBwaV9vdmVyX2xpbWl0KCkgbGlr ZSB0aGlzOgoKc3RhdGljIGJvb2wgcGlfb3Zlcl9saW1pdChpbnQgY291bnQpIHsKICAgIC8qIENv bXBhcmUgdy8gY29uc3RhbnQgZmlyc3QgdG8gc2F2ZSBhbiBhdG9taWMgcmVhZCBpbiB0aGUgY29t bW9uIGNhc2UgKi8KICAgIHJldHVybiAoY291bnQgPiBQSV9MSVNUX0ZJWEVEX05VTSkKICAgICAg ICAgJiYgIChjb3VudCA+IChhdG9taWNfcmVhZCgmbnVtX2h2bV92Y3B1cykgLyBudW1fb25saW5l X2NwdXMoKSkgKwogICAgICAgICAgICAgIFBJX0xJU1RfRklYRURfTlVNICkgKTsKfQoKVGhhdCB3 YXksIGluIHRoZSBpbmNyZWRpYmx5IGNvbW1vbiBjYXNlIHdoZXJlIGNvdW50IDwgMTI4LCB5b3Ug c2ltcGx5CmdyYWIgdGhlIGxvY2sgb25jZSBhbmQgZG9uJ3QgdG8gKmFueSogYXRvbWljIHJlYWRz LCByYXRoZXIgdGhhbiBkb2luZwphdCBsZWFzdCBmb3VyIGF0b21pYyByZWFkcyBpbiB0aGUgY29t bW9uIGNhc2UuCgpbc25pcF0KPiBAQCAtMTYzLDYgKzIyNCw3IEBAIHN0YXRpYyB2b2lkIHZteF9w aV91bmJsb2NrX3ZjcHUoc3RydWN0IHZjcHUgKnYpCj4gICAgICB1bnNpZ25lZCBsb25nIGZsYWdz Owo+ICAgICAgc3BpbmxvY2tfdCAqcGlfYmxvY2tpbmdfbGlzdF9sb2NrOwo+ICAgICAgc3RydWN0 IHBpX2Rlc2MgKnBpX2Rlc2MgPSAmdi0+YXJjaC5odm1fdm14LnBpX2Rlc2M7Cj4gKyAgICB1bnNp Z25lZCBpbnQgZGVzdCA9IGNwdV9waHlzaWNhbF9pZCh2LT5wcm9jZXNzb3IpOwo+Cj4gICAgICAv Kgo+ICAgICAgICogU2V0ICdOVicgZmllbGQgYmFjayB0byBwb3N0ZWRfaW50cl92ZWN0b3IsIHNv IHRoZQo+IEBAIC0xNzAsNiArMjMyLDggQEAgc3RhdGljIHZvaWQgdm14X3BpX3VuYmxvY2tfdmNw dShzdHJ1Y3QgdmNwdSAqdikKPiAgICAgICAqIGl0IGlzIHJ1bm5pbmcgaW4gbm9uLXJvb3QgbW9k ZS4KPiAgICAgICAqLwo+ICAgICAgd3JpdGVfYXRvbWljKCZwaV9kZXNjLT5udiwgcG9zdGVkX2lu dHJfdmVjdG9yKTsKPiArICAgIHdyaXRlX2F0b21pYygmcGlfZGVzYy0+bmRzdCwKPiArICAgICAg ICAgICAgICAgICB4MmFwaWNfZW5hYmxlZCA/IGRlc3QgOiBNQVNLX0lOU1IoZGVzdCwgUElfeEFQ SUNfTkRTVF9NQVNLKSk7CgpKdXN0IGNoZWNraW5nIC0tIGlmIGFuIGludGVycnVwdCBpcyByYWlz ZWQgYmV0d2VlbiB0aGVzZSB0d28gbGluZXMsCndoYXQgd2lsbCBoYXBwZW4/ICBXaWxsIHRoZSBp bnRlcnJ1cHQgYmUgcXVldWVkIHVwIHRvIGJlIGRlbGl2ZXJlZCB0bwp0aGUgdmNwdSB0aGUgbmV4 dCB0aW1lIGl0IGRvZXMgYSBWTUVOVFJZPwoKIC1HZW9yZ2UKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=