From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v2] x86/apic/x2apic: Share IRQ vector between cluster members only when no cpumask is specified Date: Tue, 8 Aug 2017 11:59:00 -0400 Message-ID: <1502207940-7407-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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.cooper3@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org V2UgaGF2ZSBsaW1pdGVkIG51bWJlciAoc2xpZ2h0bHkgdW5kZXIgTlJfRFlOQU1JQ19WRUNUT1JT PTE5Mikgb2YgSVJRCnZlY3RvcnMgdGhhdCBhcmUgYXZhaWxhYmxlIHRvIGVhY2ggcHJvY2Vzc29y LiBDdXJyZW50bHksIHdoZW4geDJhcGljCmNsdXN0ZXIgbW9kZSBpcyB1c2VkICh3aGljaCBpcyBk ZWZhdWx0KSwgZWFjaCB2ZWN0b3IgaXMgc2hhcmVkIGFtb25nCmFsbCBwcm9jZXNzb3JzIGluIHRo ZSBjbHVzdGVyLiBXaXRoIG1hbnkgSVJRcyAoYXMgaXMgdGhlIGNhc2Ugb24gc3lzdGVtcwp3aXRo IG11bHRpcGxlIFNSLUlPViBjYXJkcykgYW5kIGZldyBjbHVzdGVycyAoZS5nLiBzaW5nbGUgc29j a2V0KQp0aGVyZSBpcyBhIGdvb2QgY2hhbmNlIHRoYXQgd2Ugd2lsbCBydW4gb3V0IG9mIHZlY3Rv cnMuCgpUaGlzIHBhdGNoIHRyaWVzIHRvIGRlY3JlYXNlIHZlY3RvciBzaGFyaW5nIGJldHdlZW4g cHJvY2Vzc29ycyBieQphc3NpZ25pbmcgdmVjdG9yIHRvIGEgc2luZ2xlIHByb2Nlc3NvciBpZiB0 aGUgYXNzaWdubWVudCByZXF1ZXN0ICh2aWEKX19hc3NpZ25faXJxX3ZlY3RvcigpKSBjb21lcyB3 aXRob3V0IGV4cGxpY2l0bHkgc3BlY2lmeWluZyB3aGljaApwcm9jZXNzb3JzIGFyZSBleHBlY3Rl ZCB0byBzaGFyZSB0aGUgaW50ZXJydXB0LiBUaGlzIHR5cGljYWxseSBoYXBwZW5zCmR1cmluZyBi b290IHRpbWUgKG9yIHBvc3NpYmx5IFBDSSBob3RwbHVnKSB3aGVuIGNyZWF0ZV9pcnEoTlVNQV9O T19OT0RFKQppcyBjYWxsZWQuIFdoZW4gX19hc3NpZ25faXJxX3ZlY3RvcigpIGlzIGNhbGxlZCBm cm9tCnNldF9kZXNjX2FmZmluaXR5KCkgd2hpY2ggcHJvdmlkZXMgc2hhcmluZyBtYXNrLCB2ZWN0 b3Igc2hhcmluZyB3aWxsCmNvbnRpbnVlIHRvIGJlIHBlcmZvcm1lZCwgYXMgYmVmb3JlLgoKVGhp cyBwYXRjaCB0byBzb21lIGV4dGVudCBtaXJyb3JzIExpbnV4IGNvbW1pdCBkODcyODE4ZGJiZWUK KCJ4ODYvYXBpYy94MmFwaWM6IFVzZSBtdWx0aXBsZSBjbHVzdGVyIG1lbWJlcnMgZm9yIHRoZSBp cnEgZGVzdGluYXRpb24Kb25seSB3aXRoIHRoZSBleHBsaWNpdCBhZmZpbml0eSIpLgoKTm90ZSB0 aGF0IHRoaXMgY2hhbmdlIHN0aWxsIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHdlIG5ldmVyIHJ1 biBvdXQgb2YKdmVjdG9ycy4gRm9yIGV4YW1wbGUsIG9uIGEgc2luZ2xlIGNvcmUgc3lzdGVtIHdl IHdpbGwgYmUgZWZmZWN0aXZlbHkKYmFjayB0byB0aGUgc2luZ2xlIGNsdXN0ZXIvc29ja2V0IGNh c2Ugb2Ygb3JpZ2luYWwgY29kZS4KClNpZ25lZC1vZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9y aXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQpDaGFuZ2VzIGluIHYyOgoqIEluc3RlYWQgb2Yg cmVseWluZyBvbiBoYXZpbmcgbWFzayBzZXQgdG8gVEFSR0VUX0NQVVMgYXMgaW5kaWNhdGlvbiB0 aGF0IHRoZQpjYWxsZXIgZG9lc24ndCBjYXJlIGFib3V0IGhvdyB2ZWN0b3JzIGFyZSBzaGFyZWQg YWxsb3cgcGFzc2luZyBOVUxMIG1hc2sgdG8KX19hc3NpZ25faXJxX3ZlY3RvcigpIChhbmQgdGhl biB0byB2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrKCkpLgoKCiB4ZW4vYXJjaC94ODYvZ2VuYXBp Yy9kZWxpdmVyeS5jICAgICAgICAgICAgICB8IDYgKysrKy0tCiB4ZW4vYXJjaC94ODYvZ2VuYXBp Yy94MmFwaWMuYyAgICAgICAgICAgICAgICB8IDYgKysrKystCiB4ZW4vYXJjaC94ODYvaXJxLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDkgKysrKystLS0tCiB4ZW4vaW5jbHVkZS9hc20t eDg2L2dlbmFwaWMuaCAgICAgICAgICAgICAgICB8IDkgKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9h c20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX2FwaWMuaCB8IDMgKystCiA1IGZpbGVzIGNoYW5nZWQs IDIyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9nZW5hcGljL2RlbGl2ZXJ5LmMgYi94ZW4vYXJjaC94ODYvZ2VuYXBpYy9kZWxpdmVyeS5j CmluZGV4IGNlZDkyYTEuLjNjYjY1ZDIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9nZW5hcGlj L2RlbGl2ZXJ5LmMKKysrIGIveGVuL2FyY2gveDg2L2dlbmFwaWMvZGVsaXZlcnkuYwpAQCAtMzAs NyArMzAsOCBAQCB2b2lkIF9faW5pdCBjbHVzdGVyZWRfYXBpY19jaGVja19mbGF0KHZvaWQpCiAJ cHJpbnRrKCJFbmFibGluZyBBUElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgJWQgSS9PIEFQSUNzXG4i LCBucl9pb2FwaWNzKTsKIH0KIAotY29uc3QgY3B1bWFza190ICp2ZWN0b3JfYWxsb2NhdGlvbl9j cHVtYXNrX2ZsYXQoaW50IGNwdSkKK2NvbnN0IGNwdW1hc2tfdCAqdmVjdG9yX2FsbG9jYXRpb25f Y3B1bWFza19mbGF0KGludCBjcHUsCisgICAgY29uc3QgY3B1bWFza190ICpjcHVtYXNrKQogewog CXJldHVybiAmY3B1X29ubGluZV9tYXA7CiB9IApAQCAtNTgsNyArNTksOCBAQCB2b2lkIF9faW5p dCBjbHVzdGVyZWRfYXBpY19jaGVja19waHlzKHZvaWQpCiAJcHJpbnRrKCJFbmFibGluZyBBUElD IG1vZGU6ICBQaHlzLiAgVXNpbmcgJWQgSS9PIEFQSUNzXG4iLCBucl9pb2FwaWNzKTsKIH0KIAot Y29uc3QgY3B1bWFza190ICp2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrX3BoeXMoaW50IGNwdSkK K2NvbnN0IGNwdW1hc2tfdCAqdmVjdG9yX2FsbG9jYXRpb25fY3B1bWFza19waHlzKGludCBjcHUs CisgICAgY29uc3QgY3B1bWFza190ICpjcHVtYXNrKQogewogCXJldHVybiBjcHVtYXNrX29mKGNw dSk7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZ2VuYXBpYy94MmFwaWMuYyBiL3hlbi9h cmNoL3g4Ni9nZW5hcGljL3gyYXBpYy5jCmluZGV4IDVmZmZiMzEuLmIxMmQ1MjkgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9nZW5hcGljL3gyYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9nZW5h cGljL3gyYXBpYy5jCkBAIC03Miw4ICs3MiwxMiBAQCBzdGF0aWMgdm9pZCBfX2luaXQgY2x1c3Rl cmVkX2FwaWNfY2hlY2tfeDJhcGljKHZvaWQpCiB7CiB9CiAKLXN0YXRpYyBjb25zdCBjcHVtYXNr X3QgKnZlY3Rvcl9hbGxvY2F0aW9uX2NwdW1hc2tfeDJhcGljX2NsdXN0ZXIoaW50IGNwdSkKK3N0 YXRpYyBjb25zdCBjcHVtYXNrX3QgKnZlY3Rvcl9hbGxvY2F0aW9uX2NwdW1hc2tfeDJhcGljX2Ns dXN0ZXIoaW50IGNwdSwKKyAgICBjb25zdCBjcHVtYXNrX3QgKmNwdW1hc2spCiB7CisgICAgaWYg KCAhY3B1bWFzayApCisgICAgICAgIHJldHVybiBjcHVtYXNrX29mKGNwdSk7CisKICAgICByZXR1 cm4gcGVyX2NwdShjbHVzdGVyX2NwdXMsIGNwdSk7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9pcnEuYyBiL3hlbi9hcmNoL3g4Ni9pcnEuYwppbmRleCA1N2U2YzE4Li5hMDM4NWEzIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaXJxLmMKKysrIGIveGVuL2FyY2gveDg2L2lycS5jCkBA IC00NTAsMTEgKzQ1MCwxMiBAQCBzdGF0aWMgaW50IF9fYXNzaWduX2lycV92ZWN0b3IoCiAgICAg c3RhdGljIGludCBjdXJyZW50X3ZlY3RvciA9IEZJUlNUX0RZTkFNSUNfVkVDVE9SLCBjdXJyZW50 X29mZnNldCA9IDA7CiAgICAgaW50IGNwdSwgZXJyLCBvbGRfdmVjdG9yOwogICAgIGNwdW1hc2tf dCB0bXBfbWFzazsKKyAgICBjb25zdCBjcHVtYXNrX3QgKmluaXRpYWxfbWFzayA9IG1hc2sgPzog VEFSR0VUX0NQVVM7CiAgICAgdm1hc2tfdCAqaXJxX3VzZWRfdmVjdG9ycyA9IE5VTEw7CiAKICAg ICBvbGRfdmVjdG9yID0gaXJxX3RvX3ZlY3RvcihpcnEpOwogICAgIGlmIChvbGRfdmVjdG9yID4g MCkgewotICAgICAgICBjcHVtYXNrX2FuZCgmdG1wX21hc2ssIG1hc2ssICZjcHVfb25saW5lX21h cCk7CisgICAgICAgIGNwdW1hc2tfYW5kKCZ0bXBfbWFzaywgaW5pdGlhbF9tYXNrLCAmY3B1X29u bGluZV9tYXApOwogICAgICAgICBpZiAoY3B1bWFza19pbnRlcnNlY3RzKCZ0bXBfbWFzaywgZGVz Yy0+YXJjaC5jcHVfbWFzaykpIHsKICAgICAgICAgICAgIGRlc2MtPmFyY2gudmVjdG9yID0gb2xk X3ZlY3RvcjsKICAgICAgICAgICAgIHJldHVybiAwOwpAQCAtNDc2LDcgKzQ3Nyw3IEBAIHN0YXRp YyBpbnQgX19hc3NpZ25faXJxX3ZlY3RvcigKICAgICBlbHNlCiAgICAgICAgIGlycV91c2VkX3Zl Y3RvcnMgPSBpcnFfZ2V0X3VzZWRfdmVjdG9yX21hc2soaXJxKTsKIAotICAgIGZvcl9lYWNoX2Nw dShjcHUsIG1hc2spIHsKKyAgICBmb3JfZWFjaF9jcHUoY3B1LCBpbml0aWFsX21hc2spIHsKICAg ICAgICAgaW50IG5ld19jcHU7CiAgICAgICAgIGludCB2ZWN0b3IsIG9mZnNldDsKIApAQCAtNDg0 LDcgKzQ4NSw3IEBAIHN0YXRpYyBpbnQgX19hc3NpZ25faXJxX3ZlY3RvcigKICAgICAgICAgaWYg KCFjcHVfb25saW5lKGNwdSkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBjcHVt YXNrX2FuZCgmdG1wX21hc2ssIHZlY3Rvcl9hbGxvY2F0aW9uX2NwdW1hc2soY3B1KSwKKyAgICAg ICAgY3B1bWFza19hbmQoJnRtcF9tYXNrLCB2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrKGNwdSwg bWFzayksCiAgICAgICAgICAgICAgICAgICAgICZjcHVfb25saW5lX21hcCk7CiAKICAgICAgICAg dmVjdG9yID0gY3VycmVudF92ZWN0b3I7CkBAIC01NTAsNyArNTUxLDcgQEAgaW50IGFzc2lnbl9p cnFfdmVjdG9yKGludCBpcnEsIGNvbnN0IGNwdW1hc2tfdCAqbWFzaykKICAgICBCVUdfT04oaXJx ID49IG5yX2lycXMgfHwgaXJxIDwwKTsKIAogICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2ZWN0b3Jf bG9jaywgZmxhZ3MpOwotICAgIHJldCA9IF9fYXNzaWduX2lycV92ZWN0b3IoaXJxLCBkZXNjLCBt YXNrID86IFRBUkdFVF9DUFVTKTsKKyAgICByZXQgPSBfX2Fzc2lnbl9pcnFfdmVjdG9yKGlycSwg ZGVzYywgbWFzayk7CiAgICAgaWYgKCFyZXQpIHsKICAgICAgICAgcmV0ID0gZGVzYy0+YXJjaC52 ZWN0b3I7CiAgICAgICAgIGNwdW1hc2tfY29weShkZXNjLT5hZmZpbml0eSwgZGVzYy0+YXJjaC5j cHVfbWFzayk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2dlbmFwaWMuaCBiL3hl bi9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpYy5oCmluZGV4IDU0OTZhYjAuLjMwNjU0NGQgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZ2VuYXBpYy5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvZ2VuYXBpYy5oCkBAIC0zNCw3ICszNCw4IEBAIHN0cnVjdCBnZW5hcGljIHsKIAl2b2lk ICgqaW5pdF9hcGljX2xkcikodm9pZCk7CiAJdm9pZCAoKmNsdXN0ZXJlZF9hcGljX2NoZWNrKSh2 b2lkKTsKIAljb25zdCBjcHVtYXNrX3QgKigqdGFyZ2V0X2NwdXMpKHZvaWQpOwotCWNvbnN0IGNw dW1hc2tfdCAqKCp2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrKShpbnQgY3B1KTsKKwljb25zdCBj cHVtYXNrX3QgKigqdmVjdG9yX2FsbG9jYXRpb25fY3B1bWFzaykoaW50IGNwdSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNwdW1h c2tfdCAqbWFzayk7CiAJdW5zaWduZWQgaW50ICgqY3B1X21hc2tfdG9fYXBpY2lkKShjb25zdCBj cHVtYXNrX3QgKmNwdW1hc2spOwogCXZvaWQgKCpzZW5kX0lQSV9tYXNrKShjb25zdCBjcHVtYXNr X3QgKm1hc2ssIGludCB2ZWN0b3IpOwogICAgIHZvaWQgKCpzZW5kX0lQSV9zZWxmKSh1aW50OF90 IHZlY3Rvcik7CkBAIC01OCw3ICs1OSw4IEBAIHZvaWQgaW5pdF9hcGljX2xkcl9mbGF0KHZvaWQp Owogdm9pZCBjbHVzdGVyZWRfYXBpY19jaGVja19mbGF0KHZvaWQpOwogdW5zaWduZWQgaW50IGNw dV9tYXNrX3RvX2FwaWNpZF9mbGF0KGNvbnN0IGNwdW1hc2tfdCAqY3B1bWFzayk7CiB2b2lkIHNl bmRfSVBJX21hc2tfZmxhdChjb25zdCBjcHVtYXNrX3QgKm1hc2ssIGludCB2ZWN0b3IpOwotY29u c3QgY3B1bWFza190ICp2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrX2ZsYXQoaW50IGNwdSk7Citj b25zdCBjcHVtYXNrX3QgKnZlY3Rvcl9hbGxvY2F0aW9uX2NwdW1hc2tfZmxhdChpbnQgY3B1LAor ICAgIGNvbnN0IGNwdW1hc2tfdCAqbWFzayk7CiAjZGVmaW5lIEdFTkFQSUNfRkxBVCBcCiAJLmlu dF9kZWxpdmVyeV9tb2RlID0gZGVzdF9Mb3dlc3RQcmlvLCBcCiAJLmludF9kZXN0X21vZGUgPSAx IC8qIGxvZ2ljYWwgZGVsaXZlcnkgKi8sIFwKQEAgLTc0LDcgKzc2LDggQEAgdm9pZCBpbml0X2Fw aWNfbGRyX3BoeXModm9pZCk7CiB2b2lkIGNsdXN0ZXJlZF9hcGljX2NoZWNrX3BoeXModm9pZCk7 CiB1bnNpZ25lZCBpbnQgY3B1X21hc2tfdG9fYXBpY2lkX3BoeXMoY29uc3QgY3B1bWFza190ICpj cHVtYXNrKTsKIHZvaWQgc2VuZF9JUElfbWFza19waHlzKGNvbnN0IGNwdW1hc2tfdCAqbWFzaywg aW50IHZlY3Rvcik7Ci1jb25zdCBjcHVtYXNrX3QgKnZlY3Rvcl9hbGxvY2F0aW9uX2NwdW1hc2tf cGh5cyhpbnQgY3B1KTsKK2NvbnN0IGNwdW1hc2tfdCAqdmVjdG9yX2FsbG9jYXRpb25fY3B1bWFz a19waHlzKGludCBjcHUsCisgICAgY29uc3QgY3B1bWFza190ICptYXNrKTsKICNkZWZpbmUgR0VO QVBJQ19QSFlTIFwKIAkuaW50X2RlbGl2ZXJ5X21vZGUgPSBkZXN0X0ZpeGVkLCBcCiAJLmludF9k ZXN0X21vZGUgPSAwIC8qIHBoeXNpY2FsIGRlbGl2ZXJ5ICovLCBcCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L21hY2gtZ2VuZXJpYy9tYWNoX2FwaWMuaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvbWFjaC1nZW5lcmljL21hY2hfYXBpYy5oCmluZGV4IDAzZTllOGEuLjYwYTMyYzUgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfYXBpYy5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbWFjaC1nZW5lcmljL21hY2hfYXBpYy5oCkBAIC0xNiw3 ICsxNiw4IEBACiAjZGVmaW5lIGluaXRfYXBpY19sZHIgKGdlbmFwaWMtPmluaXRfYXBpY19sZHIp CiAjZGVmaW5lIGNsdXN0ZXJlZF9hcGljX2NoZWNrIChnZW5hcGljLT5jbHVzdGVyZWRfYXBpY19j aGVjaykgCiAjZGVmaW5lIGNwdV9tYXNrX3RvX2FwaWNpZCAoZ2VuYXBpYy0+Y3B1X21hc2tfdG9f YXBpY2lkKQotI2RlZmluZSB2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrKGNwdSkgKGdlbmFwaWMt PnZlY3Rvcl9hbGxvY2F0aW9uX2NwdW1hc2soY3B1KSkKKyNkZWZpbmUgdmVjdG9yX2FsbG9jYXRp b25fY3B1bWFzayhjcHUsIG1hc2spIFwKKyAgICAoZ2VuYXBpYy0+dmVjdG9yX2FsbG9jYXRpb25f Y3B1bWFzayhjcHUsIG1hc2spKQogCiBzdGF0aWMgaW5saW5lIHZvaWQgZW5hYmxlX2FwaWNfbW9k ZSh2b2lkKQogewotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=