From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH 2/4] VT-d PI: Randomly Distribute entries to all online pCPUs' pi blocking list Date: Wed, 26 Apr 2017 08:52:45 +0800 Message-ID: <1493167967-74144-3-git-send-email-chao.gao@intel.com> References: <1493167967-74144-1-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: <1493167967-74144-1-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: xen-devel@lists.xen.org Cc: Andrew Cooper , Kevin Tian , Jan Beulich , Jun Nakajima , Chao Gao List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCBhIGJsb2NrZWQgdkNQVSBpcyBwdXQgaW4gaXRzIHBDUFUncyBwaSBibG9ja2lu ZyBsaXN0LiBJZgp0b28gbWFueSB2Q1BVcyBhcmUgYmxvY2tlZCBvbiBvbmUgcENQVSwgaXQgd2ls bCBpbmN1ciB0aGF0IHRoZSBsaXN0Cmdyb3dzIHRvbyBsb25nLiBBZnRlciBhIHNpbXBsZSBhbmFs eXNpcywgd2UgY2FuIGhhdmUgMzJrIGRvbWFpbnMgYW5kCjEyOCB2Y3B1IHBlciBkb21haW4sIHRo dXMgYWJvdXQgNE0gdkNQVXMgbWF5IGJlIGJsb2NrZWQgaW4gb25lIHBDUFUncwpQSSBibG9ja2lu ZyBsaXN0LiBXaGVuIGEgd2FrZXVwIGludGVycnVwdCBhcnJpdmVzLCB0aGUgbGlzdCBpcwp0cmF2 ZWxsZWQgdG8gZmluZCBzb21lIHNwZWNpZmljIHZDUFVzIHRvIHdha2UgdGhlbSB1cC4gVGhpcyB0 cmF2ZWwgaW4KdGhhdCBjYXNlIHdvdWxkIGNvbnN1bWUgbXVjaCB0aW1lLgoKVG8gbWl0aWdhdGUg dGhpcyBpc3N1ZSwgdGhpcyBwYXRjaCByYW5kb21seSBkaXN0cmlidXRlcyBlbnRyaWVzIHRvIGFs bApvbmxpbmUgcENQVXMnIHBpIGJsb2NraW5nIGxpc3QsIG90aGVyIHRoYW4gdGhlIHBDUFUgd2hp Y2ggdGhlIHZDUFUKKHRoZSBlbnRyeSkgaXMgcnVubmluZyBvbi4gV2l0aCB0aGlzIG1ldGhvZCwg dGhlIG51bWJlciBvZiBlbnRyaWVzIGluCnRoZSBQSSBibG9ja2luZyBsaXN0IGNhbiByZWR1Y2Ug YnkgTi10aW1lcyB0aGVvcmV0aWNhbGx5LiBOIGlzIHRoZQpudW1iZXIgb2Ygb25saW5lIHBDUFVz LgoKVGhlIGNoYW5nZSBpbiB2bXhfcGlfdW5ibG9ja192Y3B1KCkgaXMgZm9yIHRoZSBmb2xsb3dp bmcgY2FzZToKdmNwdSBpcyBydW5uaW5nIC0+IHRyeSB0byBibG9jayAodGhpcyBwYXRjaCBjaGFu Z2VzIE5TRFQgdG8KYW5vdGhlciByYW5kb20gcENQVSkgYnV0IG5vdGlmaWNhdGlvbiBjb21lcyBp biB0aW1lLCB0aHVzIHRoZSB2Y3B1CmdvZXMgYmFjayB0byBydW5uaW5nIHN0YXRpb24gLT4gVk0t ZW50cnkgKHdlIHNob3VsZCBzZXQgTlNEVCBhZ2FpbiwKcmV2ZXJ0aW5nIHRoZSBjaGFuZ2Ugd2Ug bWFrZSB0byBOU0RUIGluIHZteF92Y3B1X2Jsb2NrKCkpCgpTaWduZWQtb2ZmLWJ5OiBDaGFvIEdh byA8Y2hhby5nYW9AaW50ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jIHwg MzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg MjkgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IGEyZGFj NTYuLjRjOWFmNTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0xMDMsMTMgKzEwMywyOCBAQCB2b2lkIHZt eF9waV9wZXJfY3B1X2luaXQodW5zaWduZWQgaW50IGNwdSkKIHN0YXRpYyB2b2lkIHZteF92Y3B1 X2Jsb2NrKHN0cnVjdCB2Y3B1ICp2KQogewogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0gICAg dW5zaWduZWQgaW50IGRlc3Q7CisgICAgdW5zaWduZWQgaW50IGRlc3QsIGRlc3RfY3B1OwogICAg IHNwaW5sb2NrX3QgKm9sZF9sb2NrOwotICAgIHNwaW5sb2NrX3QgKnBpX2Jsb2NraW5nX2xpc3Rf bG9jayA9Ci0JCSZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgdi0+cHJvY2Vzc29yKS5sb2NrOwog ICAgIHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjID0gJnYtPmFyY2guaHZtX3ZteC5waV9kZXNjOwor ICAgIHNwaW5sb2NrX3QgKnBpX2Jsb2NraW5nX2xpc3RfbG9jazsKKworICAgIC8qCisgICAgICog QWZ0ZXIgcENQVSBnb2VzIGRvd24sIHRoZSBwZXItY3B1IFBJIGJsb2NraW5nIGxpc3QgaXMgY2xl YXJlZC4KKyAgICAgKiBUbyBtYWtlIHN1cmUgdGhlIHBhcmFtZXRlciB2Q1BVIGlzIGFkZGVkIHRv IHRoZSBjaG9zZW4gcENQVSdzCisgICAgICogUEkgYmxvY2tpbmcgbGlzdCBiZWZvcmUgdGhlIGxp c3QgaXMgY2xlYXJlZCwganVzdCByZXRyeSB3aGVuCisgICAgICogZmluZGluZyB0aGUgcENQVSBo YXMgZ29uZSBkb3duLgorICAgICAqLworIHJldHJ5OgorICAgIGRlc3RfY3B1ID0gY3B1bWFza19h bnkoJmNwdV9vbmxpbmVfbWFwKTsKKyAgICBwaV9ibG9ja2luZ19saXN0X2xvY2sgPSAmcGVyX2Nw dSh2bXhfcGlfYmxvY2tpbmcsIGRlc3RfY3B1KS5sb2NrOwogCiAgICAgc3Bpbl9sb2NrX2lycXNh dmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7CisgICAgaWYgKCB1bmxpa2VseSghY3B1 X29ubGluZShkZXN0X2NwdSkpICkKKyAgICB7CisgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3Rv cmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7CisgICAgICAgIGdvdG8gcmV0cnk7Cisg ICAgfQorCiAgICAgb2xkX2xvY2sgPSBjbXB4Y2hnKCZ2LT5hcmNoLmh2bV92bXgucGlfYmxvY2tp bmcubG9jaywgTlVMTCwKICAgICAgICAgICAgICAgICAgICAgICAgcGlfYmxvY2tpbmdfbGlzdF9s b2NrKTsKIApAQCAtMTIwLDExICsxMzUsMTEgQEAgc3RhdGljIHZvaWQgdm14X3ZjcHVfYmxvY2so c3RydWN0IHZjcHUgKnYpCiAgICAgICovCiAgICAgQVNTRVJUKG9sZF9sb2NrID09IE5VTEwpOwog Ci0gICAgYXRvbWljX2luYygmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIHYtPnByb2Nlc3Nvciku Y291bnRlcik7Ci0gICAgSFZNVFJBQ0VfNEQoVlRfRF9QSV9CTE9DSywgdi0+ZG9tYWluLT5kb21h aW5faWQsIHYtPnZjcHVfaWQsIHYtPnByb2Nlc3NvciwKLSAgICAgICAgICAgICAgICBhdG9taWNf cmVhZCgmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIHYtPnByb2Nlc3NvcikuY291bnRlcikpOwor ICAgIGF0b21pY19pbmMoJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBkZXN0X2NwdSkuY291bnRl cik7CisgICAgSFZNVFJBQ0VfNEQoVlRfRF9QSV9CTE9DSywgdi0+ZG9tYWluLT5kb21haW5faWQs IHYtPnZjcHVfaWQsIGRlc3RfY3B1LAorICAgICAgICAgICAgICAgIGF0b21pY19yZWFkKCZwZXJf Y3B1KHZteF9waV9ibG9ja2luZywgZGVzdF9jcHUpLmNvdW50ZXIpKTsKICAgICBsaXN0X2FkZF90 YWlsKCZ2LT5hcmNoLmh2bV92bXgucGlfYmxvY2tpbmcubGlzdCwKLSAgICAgICAgICAgICAgICAg ICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgdi0+cHJvY2Vzc29yKS5saXN0KTsKKyAgICAgICAg ICAgICAgICAgICZwZXJfY3B1KHZteF9waV9ibG9ja2luZywgZGVzdF9jcHUpLmxpc3QpOwogICAg IHNwaW5fdW5sb2NrX2lycXJlc3RvcmUocGlfYmxvY2tpbmdfbGlzdF9sb2NrLCBmbGFncyk7CiAK ICAgICBBU1NFUlQoIXBpX3Rlc3Rfc24ocGlfZGVzYykpOwpAQCAtMTM0LDcgKzE0OSwxMSBAQCBz dGF0aWMgdm9pZCB2bXhfdmNwdV9ibG9jayhzdHJ1Y3QgdmNwdSAqdikKICAgICBBU1NFUlQocGlf ZGVzYy0+bmRzdCA9PQogICAgICAgICAgICAoeDJhcGljX2VuYWJsZWQgPyBkZXN0IDogTUFTS19J TlNSKGRlc3QsIFBJX3hBUElDX05EU1RfTUFTSykpKTsKIAorICAgIGRlc3QgPSBjcHVfcGh5c2lj YWxfaWQoZGVzdF9jcHUpOworCiAgICAgd3JpdGVfYXRvbWljKCZwaV9kZXNjLT5udiwgcGlfd2Fr ZXVwX3ZlY3Rvcik7CisgICAgd3JpdGVfYXRvbWljKCZwaV9kZXNjLT5uZHN0LAorICAgICAgICAg ICAgICAgICAoeDJhcGljX2VuYWJsZWQgPyBkZXN0IDogTUFTS19JTlNSKGRlc3QsIFBJX3hBUElD X05EU1RfTUFTSykpKTsKIH0KIAogc3RhdGljIHZvaWQgdm14X3BpX3N3aXRjaF9mcm9tKHN0cnVj dCB2Y3B1ICp2KQpAQCAtMTYzLDYgKzE4Miw3IEBAIHN0YXRpYyB2b2lkIHZteF9waV91bmJsb2Nr X3ZjcHUoc3RydWN0IHZjcHUgKnYpCiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICBzcGlu bG9ja190ICpwaV9ibG9ja2luZ19saXN0X2xvY2s7CiAgICAgc3RydWN0IHBpX2Rlc2MgKnBpX2Rl c2MgPSAmdi0+YXJjaC5odm1fdm14LnBpX2Rlc2M7CisgICAgdW5zaWduZWQgaW50IGRlc3QgPSBj cHVfcGh5c2ljYWxfaWQodi0+cHJvY2Vzc29yKTsKIAogICAgIC8qCiAgICAgICogU2V0ICdOVicg ZmllbGQgYmFjayB0byBwb3N0ZWRfaW50cl92ZWN0b3IsIHNvIHRoZQpAQCAtMTcwLDYgKzE5MCw4 IEBAIHN0YXRpYyB2b2lkIHZteF9waV91bmJsb2NrX3ZjcHUoc3RydWN0IHZjcHUgKnYpCiAgICAg ICogaXQgaXMgcnVubmluZyBpbiBub24tcm9vdCBtb2RlLgogICAgICAqLwogICAgIHdyaXRlX2F0 b21pYygmcGlfZGVzYy0+bnYsIHBvc3RlZF9pbnRyX3ZlY3Rvcik7CisgICAgd3JpdGVfYXRvbWlj KCZwaV9kZXNjLT5uZHN0LAorICAgICAgICAgICAgICAgICB4MmFwaWNfZW5hYmxlZCA/IGRlc3Qg OiBNQVNLX0lOU1IoZGVzdCwgUElfeEFQSUNfTkRTVF9NQVNLKSk7CiAKICAgICBwaV9ibG9ja2lu Z19saXN0X2xvY2sgPSB2LT5hcmNoLmh2bV92bXgucGlfYmxvY2tpbmcubG9jazsKIAotLSAKMS44 LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=