From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH v2 3/5] VT-d PI: restrict the vcpu number on a given pcpu Date: Tue, 16 May 2017 00:13:19 +0800 Message-ID: <20170515161317.GA21369@skl-2s3.sh.intel.com> 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: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: George Dunlap Cc: Andrew Cooper , Kevin Tian , Jun Nakajima , Jan Beulich , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBNYXkgMTUsIDIwMTcgYXQgMDQ6NDg6NDdQTSArMDEwMCwgR2VvcmdlIER1bmxhcCB3 cm90ZToKPk9uIFRodSwgTWF5IDExLCAyMDE3IGF0IDc6MDQgQU0sIENoYW8gR2FvIDxjaGFvLmdh b0BpbnRlbC5jb20+IHdyb3RlOgo+PiBDdXJyZW50bHksIGEgYmxvY2tlZCB2Q1BVIGlzIHB1dCBp biBpdHMgcENQVSdzIHBpIGJsb2NraW5nIGxpc3QuIElmCj4+IHRvbyBtYW55IHZDUFVzIGFyZSBi bG9ja2VkIG9uIGEgZ2l2ZW4gcENQVSwgaXQgd2lsbCBpbmN1ciB0aGF0IHRoZSBsaXN0Cj4+IGdy b3dzIHRvbyBsb25nLiBBZnRlciBhIHNpbXBsZSBhbmFseXNpcywgdGhlcmUgYXJlIDMyayBkb21h aW5zIGFuZAo+PiAxMjggdmNwdSBwZXIgZG9tYWluLCB0aHVzIGFib3V0IDRNIHZDUFVzIG1heSBi ZSBibG9ja2VkIGluIG9uZSBwQ1BVJ3MKPj4gUEkgYmxvY2tpbmcgbGlzdC4gV2hlbiBhIHdha2V1 cCBpbnRlcnJ1cHQgYXJyaXZlcywgdGhlIGxpc3QgaXMKPj4gdHJhdmVyc2VkIHRvIGZpbmQgc29t ZSBzcGVjaWZpYyB2Q1BVcyB0byB3YWtlIHRoZW0gdXAuIFRoaXMgdHJhdmVyc2FsIGluCj4+IHRo YXQgY2FzZSB3b3VsZCBjb25zdW1lIG11Y2ggdGltZS4KPj4KPj4gVG8gbWl0aWdhdGUgdGhpcyBp c3N1ZSwgdGhpcyBwYXRjaCBsaW1pdHMgdGhlIHZjcHUgbnVtYmVyIG9uIGEgZ2l2ZW4KPj4gcENQ VSwgdGFraW5nIGZhY3RvcnMgc3VjaCBhcyBwZXJmb21hbmNlIG9mIGNvbW1vbiBjYXNlLCBjdXJy ZW50IGh2bSB2Y3B1Cj4+IGNvdW50IGFuZCBjdXJyZW50IHBjcHUgY291bnQgaW50byBjb25zaWRl cmF0aW9uLiBXaXRoIHRoaXMgbWV0aG9kLCBmb3IKPj4gdGhlIGNvbW1vbiBjYXNlLCBpdCB3b3Jr cyBmYXN0IGFuZCBmb3Igc29tZSBleHRyZW1lIGNhc2VzLCB0aGUgbGlzdAo+PiBsZW5ndGggaXMg dW5kZXIgY29udHJvbC4KPj4KPj4gVGhlIGNoYW5nZSBpbiB2bXhfcGlfdW5ibG9ja192Y3B1KCkg aXMgZm9yIHRoZSBmb2xsb3dpbmcgY2FzZToKPj4gdmNwdSBpcyBydW5uaW5nIC0+IHRyeSB0byBi bG9jayAodGhpcyBwYXRjaCBtYXkgY2hhbmdlIE5TRFQgdG8KPj4gYW5vdGhlciBwQ1BVKSBidXQg bm90aWZpY2F0aW9uIGNvbWVzIGluIHRpbWUsIHRodXMgdGhlIHZjcHUKPj4gZ29lcyBiYWNrIHRv IHJ1bm5pbmcgc3RhdGlvbiAtPiBWTS1lbnRyeSAod2Ugc2hvdWxkIHNldCBOU0RUIGFnYWluLAo+ PiByZXZlcnRpbmcgdGhlIGNoYW5nZSB3ZSBtYWtlIHRvIE5TRFQgaW4gdm14X3ZjcHVfYmxvY2so KSkKPj4KPj4gU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KPj4g LS0tCj4+ICB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyB8IDc4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPj4gIDEgZmlsZSBjaGFuZ2VkLCA3MSBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L2h2bS92bXgvdm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwo+PiBpbmRleCBlZmZm NmNkLi5jMGQwYjU4IDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwo+ PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwo+PiBAQCAtMTAwLDE2ICsxMDAsNzAg QEAgdm9pZCB2bXhfcGlfcGVyX2NwdV9pbml0KHVuc2lnbmVkIGludCBjcHUpCj4+ICAgICAgc3Bp bl9sb2NrX2luaXQoJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBjcHUpLmxvY2spOwo+PiAgfQo+ Pgo+PiArLyoKPj4gKyAqIENob29zZSBhbiBhcHByb3ByaWF0ZSBwY3B1IHRvIHJlY2VpdmUgd2Fr ZXVwIGludGVycnVwdC4KPj4gKyAqIEJ5IGRlZmF1bHQsIHRoZSBsb2NhbCBwY3B1IGlzIGNob3Nl biBhcyB0aGUgZGVzdGluYXRpb24uIEJ1dCBpZiB0aGUKPj4gKyAqIHZjcHUgbnVtYmVyIG9mIHRo ZSBsb2NhbCBwY3B1IGV4Y2VlZHMgYSBsaW1pdCwgYW5vdGhlciBwY3B1IGlzIGNob3Nlbi4KPj4g KyAqCj4+ICsgKiBDdXJyZW50bHksIGNob29zZSAodl90b3QvcF90b3QpICsgSyBhcyB0aGUgbGlt aXQgb2YgdmNwdSwgd2hlcmUKPj4gKyAqIHZfdG90IGlzIHRoZSB0b3RhbCBudW1iZXIgb2YgdmNw dXMgb24gdGhlIHN5c3RlbSwgcF90b3QgaXMgdGhlIHRvdGFsCj4+ICsgKiBudW1iZXIgb2YgcGNw dXMgaW4gdGhlIHN5c3RlbSwgYW5kIEsgaXMgYSBmaXhlZCBudW1iZXIuIEV4cGVybWVudHMgc2hv d3MKPj4gKyAqIHRoZSBtYXhpbWFsIHRpbWUgdG8gd2FrZXVwIGEgdmNwdSBmcm9tIGEgMTI4LWVu dHJ5IGJsb2NraW5nIGxpc3QgaXMKPj4gKyAqIGNvbnNpZGVyZWQgYWNjZXB0YWJsZS4gU28gY2hv b3NlIDEyOCBhcyB0aGUgZml4ZWQgbnVtYmVyIEsuCj4+ICsgKgo+PiArICogVGhpcyBwb2xpY3kg bWFrZXMgc3VyZToKPj4gKyAqIDEpIGZvciBjb21tb24gY2FzZXMsIHRoZSBsaW1pdCB3b24ndCBi ZSByZWFjaGVkIGFuZCB0aGUgbG9jYWwgcGNwdSBpcyB1c2VkCj4+ICsgKiB3aGljaCBpcyBiZW5l ZmljaWFsIHRvIHBlcmZvcm1hbmNlIChhdCBsZWFzdCwgYXZvaWQgYW4gSVBJIHdoZW4gdW5ibG9j a2luZwo+PiArICogdmNwdSkuCj4+ICsgKiAyKSBmb3IgdGhlIHdvcnN0IGNhc2UsIHRoZSBibG9j a2luZyBsaXN0IGxlbmd0aCBzY2FsZXMgd2l0aCB0aGUgdmNwdSBjb3VudAo+PiArICogZGl2aWRl ZCBieSB0aGUgcGNwdSBjb3VudC4KPj4gKyAqLwo+PiArI2RlZmluZSBQSV9MSVNUX0ZJWEVEX05V TSAxMjgKPj4gKyNkZWZpbmUgUElfTElTVF9MSU1JVCAgICAgKGF0b21pY19yZWFkKCZudW1faHZt X3ZjcHVzKSAvIG51bV9vbmxpbmVfY3B1cygpICsgXAo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgUElfTElTVF9GSVhFRF9OVU0pCj4+ICsKPj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgdm14 X3BpX2Nob29zZV9kZXN0X2NwdShzdHJ1Y3QgdmNwdSAqdikKPj4gK3sKPj4gKyAgICBpbnQgY291 bnQsIGxpbWl0ID0gUElfTElTVF9MSU1JVDsKPj4gKyAgICB1bnNpZ25lZCBpbnQgZGVzdCA9IHYt PnByb2Nlc3NvcjsKPj4gKwo+PiArICAgIGNvdW50ID0gYXRvbWljX3JlYWQoJnBlcl9jcHUodm14 X3BpX2Jsb2NraW5nLCBkZXN0KS5jb3VudGVyKTsKPj4gKyAgICB3aGlsZSAoIHVubGlrZWx5KGNv dW50ID49IGxpbWl0KSApCj4+ICsgICAgewo+PiArICAgICAgICBkZXN0ID0gY3B1bWFza19jeWNs ZShkZXN0LCAmY3B1X29ubGluZV9tYXApOwo+PiArICAgICAgICBjb3VudCA9IGF0b21pY19yZWFk KCZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgZGVzdCkuY291bnRlcik7Cj4+ICsgICAgfQo+PiAr ICAgIHJldHVybiBkZXN0Owo+PiArfQo+PiArCj4+ICBzdGF0aWMgdm9pZCB2bXhfdmNwdV9ibG9j ayhzdHJ1Y3QgdmNwdSAqdikKPj4gIHsKPj4gICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiAt ICAgIHVuc2lnbmVkIGludCBkZXN0Owo+PiArICAgIHVuc2lnbmVkIGludCBkZXN0LCBkZXN0X2Nw dTsKPj4gICAgICBzcGlubG9ja190ICpvbGRfbG9jazsKPj4gLSAgICBzcGlubG9ja190ICpwaV9i bG9ja2luZ19saXN0X2xvY2sgPQo+PiAtICAgICAgICAgICAgICAgJnBlcl9jcHUodm14X3BpX2Js b2NraW5nLCB2LT5wcm9jZXNzb3IpLmxvY2s7Cj4+ICAgICAgc3RydWN0IHBpX2Rlc2MgKnBpX2Rl c2MgPSAmdi0+YXJjaC5odm1fdm14LnBpX2Rlc2M7Cj4+ICsgICAgc3BpbmxvY2tfdCAqcGlfYmxv Y2tpbmdfbGlzdF9sb2NrOwo+PiArCj4+ICsgICAgLyoKPj4gKyAgICAgKiBBZnRlciBwQ1BVIGdv ZXMgZG93biwgdGhlIHBlci1jcHUgUEkgYmxvY2tpbmcgbGlzdCBpcyBjbGVhcmVkLgo+PiArICAg ICAqIFRvIG1ha2Ugc3VyZSB0aGUgcGFyYW1ldGVyIHZDUFUgaXMgYWRkZWQgdG8gdGhlIGNob3Nl biBwQ1BVJ3MKPj4gKyAgICAgKiBQSSBibG9ja2luZyBsaXN0IGJlZm9yZSB0aGUgbGlzdCBpcyBj bGVhcmVkLCBqdXN0IHJldHJ5IHdoZW4KPj4gKyAgICAgKiBmaW5kaW5nIHRoZSBwQ1BVIGhhcyBn b25lIGRvd24uIEFsc28gcmV0cnkgdG8gY2hvb3NlIGFub3RoZXIKPj4gKyAgICAgKiBwQ1BVIHdo ZW4gZmluZGluZyB0aGUgbGlzdCBsZW5ndGggcmVhY2hzIHRoZSBsaW1pdC4KPj4gKyAgICAgKi8K Pj4gKyByZXRyeToKPj4gKyAgICBkZXN0X2NwdSA9IHZteF9waV9jaG9vc2VfZGVzdF9jcHUodik7 Cj4+ICsgICAgcGlfYmxvY2tpbmdfbGlzdF9sb2NrID0gJnBlcl9jcHUodm14X3BpX2Jsb2NraW5n LCBkZXN0X2NwdSkubG9jazsKPj4KPj4gICAgICBzcGluX2xvY2tfaXJxc2F2ZShwaV9ibG9ja2lu Z19saXN0X2xvY2ssIGZsYWdzKTsKPj4gKyAgICBpZiAoIHVubGlrZWx5KCghY3B1X29ubGluZShk ZXN0X2NwdSkpIHx8Cj4+ICsgICAgICAgICAgICAgICAgICAoYXRvbWljX3JlYWQoJnBlcl9jcHUo dm14X3BpX2Jsb2NraW5nLCBkZXN0X2NwdSkuY291bnRlcikgPj0KPj4gKyAgICAgICAgICAgICAg ICAgICBQSV9MSVNUX0xJTUlUKSkgKQo+PiArICAgIHsKPj4gKyAgICAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZShwaV9ibG9ja2luZ19saXN0X2xvY2ssIGZsYWdzKTsKPj4gKyAgICAgICAgZ290 byByZXRyeTsKPj4gKyAgICB9Cj4KPkFsZ29yaXRobWljYWxseSBJIHRoaW5rIHRoaXMgaXMgb24g dGhlIHJpZ2h0IHRyYWNrLiBCdXQgYWxsIHRoZXNlCj5hdG9taWMgcmVhZHMgYW5kIHdyaXRlcyBh cmUgYSBtZXNzLiAgQXRvbWljIGFjY2Vzc2VzIGFyZW4ndCBmcmVlOyBhbmQKPnRoZSB2YXN0IG1h am9yaXR5IG9mIHRoZSB0aW1lIHlvdSdyZSBkb2luZyB0aGluZ3Mgd2l0aCB0aGUKPnBpX2Jsb2Nr aW5nX2xpc3RfbG9jayBhbnl3YXkuCj4KPldoeSBub3QgZG8gc29tZXRoaW5nIGxpa2UgdGhpcyBh dCB0aGUgdG9wIG9mIHZteF92Y3B1X2Jsb2NrKCkKPihyZXBsYWNpbmcgZGVzdF9jcHUgd2l0aCBw aV9jcHUgZm9yIGNsYXJpdHkpPwo+Cj4gICAgcGlfY3B1ID0gdi0+cHJvY2Vzc29yOwo+cmV0cnk6 Cj4gICAgcGlfYmxvY2tpbmdfbGlzdF9sb2NrID0gJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBw aV9jcHUpLmxvY2s7Cj4gICAgc3Bpbl9sb2NrX2lycXNhdmUocGlfYmxvY2tpbmdfbGlzdF9sb2Nr LCBmbGFncyk7Cj4gICAgLyoKPiAgICAgKiBTaW5jZSBkZXN0X2NwdSBtYXkgbm93IGJlIG9uZSBv dGhlciB0aGFuIHRoZSBvbmUgdiBpcyBjdXJyZW50bHkKPiAgICAgKiBydW5uaW5nIG9uLCBjaGVj ayB0byBtYWtlIHN1cmUgdGhhdCBpdCdzIHN0aWxsIHVwLgo+ICAgICAqLwo+ICAgIGlmICggdW5s aWtlbHkoKCFjcHVfb25saW5lKHBpX2NwdSkpIHx8Cj4gICAgICAgICAgICAgICAgICBwaV9vdmVy X2xpbWl0KHBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBwaV9jcHUpLmNvdW50ZXIpKSApCj4gICAg ewo+ICAgICAgICBwaV9jcHUgPSBjcHVtYXNrX2N5Y2xlKHBpX2NwdSwgJmNwdV9vbmxpbmVfbWFw KTsKPiAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShwaV9ibG9ja2luZ19saXN0X2xvY2ss IGZsYWdzKTsKPiAgICAgICAgZ290byByZXRyeTsKPiAgICB9Cj4KPndoZXJlIHdlIGRlZmluZSBw aV9vdmVyX2xpbWl0KCkgbGlrZSB0aGlzOgo+Cj5zdGF0aWMgYm9vbCBwaV9vdmVyX2xpbWl0KGlu dCBjb3VudCkgewo+ICAgIC8qIENvbXBhcmUgdy8gY29uc3RhbnQgZmlyc3QgdG8gc2F2ZSBhbiBh dG9taWMgcmVhZCBpbiB0aGUgY29tbW9uIGNhc2UgKi8KPiAgICByZXR1cm4gKGNvdW50ID4gUElf TElTVF9GSVhFRF9OVU0pCj4gICAgICAgICAmJiAgKGNvdW50ID4gKGF0b21pY19yZWFkKCZudW1f aHZtX3ZjcHVzKSAvIG51bV9vbmxpbmVfY3B1cygpKSArCj4gICAgICAgICAgICAgIFBJX0xJU1Rf RklYRURfTlVNICkgKTsKPn0KPgo+VGhhdCB3YXksIGluIHRoZSBpbmNyZWRpYmx5IGNvbW1vbiBj YXNlIHdoZXJlIGNvdW50IDwgMTI4LCB5b3Ugc2ltcGx5Cj5ncmFiIHRoZSBsb2NrIG9uY2UgYW5k IGRvbid0IHRvICphbnkqIGF0b21pYyByZWFkcywgcmF0aGVyIHRoYW4gZG9pbmcKPmF0IGxlYXN0 IGZvdXIgYXRvbWljIHJlYWRzIGluIHRoZSBjb21tb24gY2FzZS4KCkFncmVlLiBXZSBzaG91bGQg bWFrZSB0aGluZ3MgZmFzdCBpZiBwb3NzaWJsZS4gQ291bGQgSSBhZGQgeW91IGFzCnN1Z2dlc3Rl ZC1ieT8gVGhhbmtzIGZvciB5b3VyIGhlbHAuCgo+Cj5bc25pcF0KPj4gQEAgLTE2Myw2ICsyMjQs NyBAQCBzdGF0aWMgdm9pZCB2bXhfcGlfdW5ibG9ja192Y3B1KHN0cnVjdCB2Y3B1ICp2KQo+PiAg ICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4+ICAgICAgc3BpbmxvY2tfdCAqcGlfYmxvY2tpbmdf bGlzdF9sb2NrOwo+PiAgICAgIHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjID0gJnYtPmFyY2guaHZt X3ZteC5waV9kZXNjOwo+PiArICAgIHVuc2lnbmVkIGludCBkZXN0ID0gY3B1X3BoeXNpY2FsX2lk KHYtPnByb2Nlc3Nvcik7Cj4+Cj4+ICAgICAgLyoKPj4gICAgICAgKiBTZXQgJ05WJyBmaWVsZCBi YWNrIHRvIHBvc3RlZF9pbnRyX3ZlY3Rvciwgc28gdGhlCj4+IEBAIC0xNzAsNiArMjMyLDggQEAg c3RhdGljIHZvaWQgdm14X3BpX3VuYmxvY2tfdmNwdShzdHJ1Y3QgdmNwdSAqdikKPj4gICAgICAg KiBpdCBpcyBydW5uaW5nIGluIG5vbi1yb290IG1vZGUuCj4+ICAgICAgICovCj4+ICAgICAgd3Jp dGVfYXRvbWljKCZwaV9kZXNjLT5udiwgcG9zdGVkX2ludHJfdmVjdG9yKTsKPj4gKyAgICB3cml0 ZV9hdG9taWMoJnBpX2Rlc2MtPm5kc3QsCj4+ICsgICAgICAgICAgICAgICAgIHgyYXBpY19lbmFi bGVkID8gZGVzdCA6IE1BU0tfSU5TUihkZXN0LCBQSV94QVBJQ19ORFNUX01BU0spKTsKPgo+SnVz dCBjaGVja2luZyAtLSBpZiBhbiBpbnRlcnJ1cHQgaXMgcmFpc2VkIGJldHdlZW4gdGhlc2UgdHdv IGxpbmVzLAo+d2hhdCB3aWxsIGhhcHBlbj8gIFdpbGwgdGhlIGludGVycnVwdCBiZSBxdWV1ZWQg dXAgdG8gYmUgZGVsaXZlcmVkIHRvCj50aGUgdmNwdSB0aGUgbmV4dCB0aW1lIGl0IGRvZXMgYSBW TUVOVFJZPwoKSSB0aGluayBhbiBpbnRlcnJ1cHQgYmV0d2VlbiB0aGUgdHdvIGxpbmVzIGluY3Vy cyBhIHNwdXJpb3VzIGludGVycnVwdAp0byB0aGUgY3VycmVudCBkZXN0aW5hdGlvbiBwY3B1LiBU aGUgaW50ZXJydXB0IHdpbGwgYmUgaW5qZWN0IGluIHRoaXMKVk0tZW50cnkgYXMgbG9uZyBhcyB3 ZSB3aWxsIHN5bmMgUElSIHRvIHZJUlIuCgpUaGFua3MKQ2hhbwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==