From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH 1/2] xen/x86: Move irq allocation from Xen smp_op.cpu_up() Date: Thu, 17 Mar 2016 09:33:32 -0400 Message-ID: <1458221613-21563-2-git-send-email-boris.ostrovsky__8793.83768556199$1458221839$gmane$org@oracle.com> References: <1458221613-21563-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: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1agY5e-0003Xd-7w for xen-devel@lists.xenproject.org; Thu, 17 Mar 2016 13:35:50 +0000 In-Reply-To: <1458221613-21563-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: david.vrabel@citrix.com, konrad.wilk@oracle.com, tglx@linutronix.de Cc: xen-devel@lists.xenproject.org, Boris Ostrovsky , x86@kernel.org, linux-kernel@vger.kernel.org List-Id: xen-devel@lists.xenproject.org Q29tbWl0IGNlMGQzYzBhNmZiMSAoImdlbmlycTogUmV2ZXJ0IHNwYXJzZSBpcnEgbG9ja2luZyBh cm91bmQKX19jcHVfdXAoKSBhbmQgbW92ZSBpdCB0byB4ODYgZm9yIG5vdyIpIHJldmVydGVkIGly cSBsb2NraW5nCmludHJvZHVjZWQgYnkgY29tbWl0IGE4OTk0MTgxNjcyNiAoImhvdHBsdWc6IFBy ZXZlbnQgYWxsb2MvZnJlZQpvZiBpcnEgZGVzY3JpcHRvcnMgZHVyaW5nIGNwdSB1cC9kb3duIikg YmVjYXVzZSBvZiBYZW4gYWxsb2NhdGluZwppcnFzIGluIGJvdGggb2YgaXRzIGNwdV91cCBvcHMu CgpXZSBjYW4gbW92ZSB0aG9zZSBhbGxvY2F0aW9ucyBpbnRvIENQVSBub3RpZmllcnMgc28gdGhh dCBvcmlnaW5hbApwYXRjaCBjYW4gYmUgcmVpbnN0YXRlZC4KClNpZ25lZC1vZmYtYnk6IEJvcmlz IE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQogYXJjaC94ODYveGVu L2VubGlnaHRlbi5jIHwgICA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0KIGFyY2gveDg2L3hlbi9zbXAuYyAgICAgICB8ICAgNDUgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gveDg2L3hlbi9zbXAuaCAgICAgICB8ICAgIDMg KysKIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2VubGln aHRlbi5jCmluZGV4IDJjMjYxMDguLmQxYTg2ZGIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9l bmxpZ2h0ZW4uYworKysgYi9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKQEAgLTEzNyw2ICsxMzcs OCBAQCBSRVNFUlZFX0JSSyhzaGFyZWRfaW5mb19wYWdlX2JyaywgUEFHRV9TSVpFKTsKIF9fcmVh ZF9tb3N0bHkgaW50IHhlbl9oYXZlX3ZlY3Rvcl9jYWxsYmFjazsKIEVYUE9SVF9TWU1CT0xfR1BM KHhlbl9oYXZlX3ZlY3Rvcl9jYWxsYmFjayk7CiAKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxv Y2sgeGVuX2NwdV9ub3RpZmllcjsKKwogLyoKICAqIFBvaW50IGF0IHNvbWUgZW1wdHkgbWVtb3J5 IHRvIHN0YXJ0IHdpdGguIFdlIG1hcCB0aGUgcmVhbCBzaGFyZWRfaW5mbwogICogcGFnZSBhcyBz b29uIGFzIGZpeG1hcCBpcyB1cCBhbmQgcnVubmluZy4KQEAgLTE1OTYsNiArMTU5OCw3IEBAIGFz bWxpbmthZ2UgX192aXNpYmxlIHZvaWQgX19pbml0IHhlbl9zdGFydF9rZXJuZWwodm9pZCkKIAl4 ZW5faW5pdGlhbF9nZHQgPSAmcGVyX2NwdShnZHRfcGFnZSwgMCk7CiAKIAl4ZW5fc21wX2luaXQo KTsKKwlyZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnhlbl9jcHVfbm90aWZpZXIpOwogCiAjaWZkZWYg Q09ORklHX0FDUElfTlVNQQogCS8qCkBAIC0xNzgzLDE3ICsxNzg2LDQ5IEBAIHN0YXRpYyB2b2lk IF9faW5pdCBpbml0X2h2bV9wdl9pbmZvKHZvaWQpCiAJeGVuX2RvbWFpbl90eXBlID0gWEVOX0hW TV9ET01BSU47CiB9CiAKLXN0YXRpYyBpbnQgeGVuX2h2bV9jcHVfbm90aWZ5KHN0cnVjdCBub3Rp Zmllcl9ibG9jayAqc2VsZiwgdW5zaWduZWQgbG9uZyBhY3Rpb24sCi0JCQkgICAgICB2b2lkICpo Y3B1KQorc3RhdGljIGludCB4ZW5fY3B1X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnNl bGYsIHVuc2lnbmVkIGxvbmcgYWN0aW9uLAorCQkJICB2b2lkICpoY3B1KQogewogCWludCBjcHUg PSAobG9uZyloY3B1OworCWludCByYzsKKwogCXN3aXRjaCAoYWN0aW9uKSB7CiAJY2FzZSBDUFVf VVBfUFJFUEFSRToKLQkJeGVuX3ZjcHVfc2V0dXAoY3B1KTsKLQkJaWYgKHhlbl9oYXZlX3ZlY3Rv cl9jYWxsYmFjaykgewotCQkJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfaHZtX3NhZmVfcHZjbG9j aykpCi0JCQkJeGVuX3NldHVwX3RpbWVyKGNwdSk7CisJCWlmICh4ZW5faHZtX2RvbWFpbigpKSB7 CisJCQkvKgorCQkJICogVGhpcyBjYW4gaGFwcGVuIGlmIENQVSB3YXMgb2ZmbGluZWQgZWFybGll ciBhbmQKKwkJCSAqIG9mZmxpbmluZyB0aW1lZCBvdXQgaW4gY29tbW9uX2NwdV9kaWUoKS4KKwkJ CSAqLworCQkJaWYgKGNwdV9yZXBvcnRfc3RhdGUoY3B1KSA9PSBDUFVfREVBRF9GUk9aRU4pIHsK KwkJCQl4ZW5fc21wX2ludHJfZnJlZShjcHUpOworCQkJCXhlbl91bmluaXRfbG9ja19jcHUoY3B1 KTsKKwkJCX0KKworCQkJeGVuX3ZjcHVfc2V0dXAoY3B1KTsKIAkJfQorCisJCWlmICh4ZW5fcHZf ZG9tYWluKCkgfHwKKwkJICAgICh4ZW5faGF2ZV92ZWN0b3JfY2FsbGJhY2sgJiYKKwkJICAgICB4 ZW5fZmVhdHVyZShYRU5GRUFUX2h2bV9zYWZlX3B2Y2xvY2spKSkKKwkJCXhlbl9zZXR1cF90aW1l cihjcHUpOworCisJCXJjID0geGVuX3NtcF9pbnRyX2luaXQoY3B1KTsKKwkJaWYgKHJjKSB7CisJ CQlXQVJOKDEsICJ4ZW5fc21wX2ludHJfaW5pdCgpIGZvciBDUFUgJWQgZmFpbGVkOiAlZFxuIiwK KwkJCSAgICAgY3B1LCByYyk7CisJCQlyZXR1cm4gTk9USUZZX0JBRDsKKwkJfQorCisJCWJyZWFr OworCWNhc2UgQ1BVX09OTElORToKKwkJeGVuX2luaXRfbG9ja19jcHUoY3B1KTsKKwkJYnJlYWs7 CisJY2FzZSBDUFVfVVBfQ0FOQ0VMRUQ6CisJCXhlbl9zbXBfaW50cl9mcmVlKGNwdSk7CisJCWlm ICh4ZW5fcHZfZG9tYWluKCkgfHwKKwkJICAgICh4ZW5faGF2ZV92ZWN0b3JfY2FsbGJhY2sgJiYK KwkJICAgICB4ZW5fZmVhdHVyZShYRU5GRUFUX2h2bV9zYWZlX3B2Y2xvY2spKSkKKwkJCXhlbl90 ZWFyZG93bl90aW1lcihjcHUpOwogCQlicmVhazsKIAlkZWZhdWx0OgogCQlicmVhazsKQEAgLTE4 MDEsOCArMTgzNiw4IEBAIHN0YXRpYyBpbnQgeGVuX2h2bV9jcHVfbm90aWZ5KHN0cnVjdCBub3Rp Zmllcl9ibG9jayAqc2VsZiwgdW5zaWduZWQgbG9uZyBhY3Rpb24sCiAJcmV0dXJuIE5PVElGWV9P SzsKIH0KIAotc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5faHZtX2NwdV9ub3RpZmll ciA9IHsKLQkubm90aWZpZXJfY2FsbAk9IHhlbl9odm1fY3B1X25vdGlmeSwKK3N0YXRpYyBzdHJ1 Y3Qgbm90aWZpZXJfYmxvY2sgeGVuX2NwdV9ub3RpZmllciA9IHsKKwkubm90aWZpZXJfY2FsbAk9 IHhlbl9jcHVfbm90aWZ5LAogfTsKIAogI2lmZGVmIENPTkZJR19LRVhFQ19DT1JFCkBAIC0xODM0 LDcgKzE4NjksNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgeGVuX2h2bV9ndWVzdF9pbml0KHZvaWQp CiAJaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvcikpCiAJCXhlbl9o YXZlX3ZlY3Rvcl9jYWxsYmFjayA9IDE7CiAJeGVuX2h2bV9zbXBfaW5pdCgpOwotCXJlZ2lzdGVy X2NwdV9ub3RpZmllcigmeGVuX2h2bV9jcHVfbm90aWZpZXIpOworCXJlZ2lzdGVyX2NwdV9ub3Rp ZmllcigmeGVuX2NwdV9ub3RpZmllcik7CiAJeGVuX3VucGx1Z19lbXVsYXRlZF9kZXZpY2VzKCk7 CiAJeDg2X2luaXQuaXJxcy5pbnRyX2luaXQgPSB4ZW5faW5pdF9JUlE7CiAJeGVuX2h2bV9pbml0 X3RpbWVfb3BzKCk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vc21wLmMgYi9hcmNoL3g4Ni94 ZW4vc21wLmMKaW5kZXggNzE5Y2YyOS4uMDlkNWNjMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVu L3NtcC5jCisrKyBiL2FyY2gveDg2L3hlbi9zbXAuYwpAQCAtMTE1LDcgKzExNSw3IEBAIGFzbWxp bmthZ2UgX192aXNpYmxlIHZvaWQgY3B1X2JyaW5ndXBfYW5kX2lkbGUoaW50IGNwdSkKIAljcHVf c3RhcnR1cF9lbnRyeShDUFVIUF9BUF9PTkxJTkVfSURMRSk7CiB9CiAKLXN0YXRpYyB2b2lkIHhl bl9zbXBfaW50cl9mcmVlKHVuc2lnbmVkIGludCBjcHUpCit2b2lkIHhlbl9zbXBfaW50cl9mcmVl KHVuc2lnbmVkIGludCBjcHUpCiB7CiAJaWYgKHBlcl9jcHUoeGVuX3Jlc2NoZWRfaXJxLCBjcHUp LmlycSA+PSAwKSB7CiAJCXVuYmluZF9mcm9tX2lycWhhbmRsZXIocGVyX2NwdSh4ZW5fcmVzY2hl ZF9pcnEsIGNwdSkuaXJxLCBOVUxMKTsKQEAgLTE1OSw3ICsxNTksNyBAQCBzdGF0aWMgdm9pZCB4 ZW5fc21wX2ludHJfZnJlZSh1bnNpZ25lZCBpbnQgY3B1KQogCQlwZXJfY3B1KHhlbl9wbXVfaXJx LCBjcHUpLm5hbWUgPSBOVUxMOwogCX0KIH07Ci1zdGF0aWMgaW50IHhlbl9zbXBfaW50cl9pbml0 KHVuc2lnbmVkIGludCBjcHUpCitpbnQgeGVuX3NtcF9pbnRyX2luaXQodW5zaWduZWQgaW50IGNw dSkKIHsKIAlpbnQgcmM7CiAJY2hhciAqcmVzY2hlZF9uYW1lLCAqY2FsbGZ1bmNfbmFtZSwgKmRl YnVnX25hbWUsICpwbXVfbmFtZTsKQEAgLTQ2OCw4ICs0NjgsNiBAQCBzdGF0aWMgaW50IHhlbl9j cHVfdXAodW5zaWduZWQgaW50IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0ICppZGxlKQogCWNvbW1v bl9jcHVfdXAoY3B1LCBpZGxlKTsKIAogCXhlbl9zZXR1cF9ydW5zdGF0ZV9pbmZvKGNwdSk7Ci0J eGVuX3NldHVwX3RpbWVyKGNwdSk7Ci0JeGVuX2luaXRfbG9ja19jcHUoY3B1KTsKIAogCS8qCiAJ ICogUFYgVkNQVXMgYXJlIGFsd2F5cyBzdWNjZXNzZnVsbHkgdGFrZW4gZG93biAoc2VlICd3aGls ZScgbG9vcApAQCAtNDg4LDEwICs0ODYsNiBAQCBzdGF0aWMgaW50IHhlbl9jcHVfdXAodW5zaWdu ZWQgaW50IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0ICppZGxlKQogCiAJeGVuX3BtdV9pbml0KGNw dSk7CiAKLQlyYyA9IHhlbl9zbXBfaW50cl9pbml0KGNwdSk7Ci0JaWYgKHJjKQotCQlyZXR1cm4g cmM7Ci0KIAlyYyA9IEhZUEVSVklTT1JfdmNwdV9vcChWQ1BVT1BfdXAsIGNwdSwgTlVMTCk7CiAJ QlVHX09OKHJjKTsKIApAQCAtNzYxLDQ3ICs3NTUsMTIgQEAgc3RhdGljIHZvaWQgX19pbml0IHhl bl9odm1fc21wX3ByZXBhcmVfY3B1cyh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpCiAJeGVuX2luaXRf bG9ja19jcHUoMCk7CiB9CiAKLXN0YXRpYyBpbnQgeGVuX2h2bV9jcHVfdXAodW5zaWduZWQgaW50 IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0ICp0aWRsZSkKLXsKLQlpbnQgcmM7Ci0KLQkvKgotCSAq IFRoaXMgY2FuIGhhcHBlbiBpZiBDUFUgd2FzIG9mZmxpbmVkIGVhcmxpZXIgYW5kCi0JICogb2Zm bGluaW5nIHRpbWVkIG91dCBpbiBjb21tb25fY3B1X2RpZSgpLgotCSAqLwotCWlmIChjcHVfcmVw b3J0X3N0YXRlKGNwdSkgPT0gQ1BVX0RFQURfRlJPWkVOKSB7Ci0JCXhlbl9zbXBfaW50cl9mcmVl KGNwdSk7Ci0JCXhlbl91bmluaXRfbG9ja19jcHUoY3B1KTsKLQl9Ci0KLQkvKgotCSAqIHhlbl9z bXBfaW50cl9pbml0KCkgbmVlZHMgdG8gcnVuIGJlZm9yZSBuYXRpdmVfY3B1X3VwKCkKLQkgKiBz byB0aGF0IElQSSB2ZWN0b3JzIGFyZSBzZXQgdXAgb24gdGhlIGJvb3RpbmcgQ1BVIGJlZm9yZQot CSAqIGl0IGlzIG1hcmtlZCBvbmxpbmUgaW4gbmF0aXZlX2NwdV91cCgpLgotCSovCi0JcmMgPSB4 ZW5fc21wX2ludHJfaW5pdChjcHUpOwotCVdBUk5fT04ocmMpOwotCWlmICghcmMpCi0JCXJjID0g IG5hdGl2ZV9jcHVfdXAoY3B1LCB0aWRsZSk7Ci0KLQkvKgotCSAqIFdlIG11c3QgaW5pdGlhbGl6 ZSB0aGUgc2xvd3BhdGggQ1BVIGtpY2tlciBfYWZ0ZXJfIHRoZSBuYXRpdmUKLQkgKiBwYXRoIGhh cyBleGVjdXRlZC4gSWYgd2UgaW5pdGlhbGl6ZWQgaXQgYmVmb3JlIG5vbmUgb2YgdGhlCi0JICog dW5sb2NrZXIgSVBJIGtpY2tzIHdvdWxkIHJlYWNoIHRoZSBib290aW5nIENQVSBhcyB0aGUgYm9v dGluZwotCSAqIENQVSBoYWQgbm90IHNldCBpdHNlbGYgJ29ubGluZScgaW4gY3B1X29ubGluZV9t YXNrLiBUaGF0IG1hc2sKLQkgKiBpcyBjaGVja2VkIHdoZW4gSVBJcyBhcmUgc2VudCAob24gSFZN IGF0IGxlYXN0KS4KLQkgKi8KLQl4ZW5faW5pdF9sb2NrX2NwdShjcHUpOwotCXJldHVybiByYzsK LX0KLQogdm9pZCBfX2luaXQgeGVuX2h2bV9zbXBfaW5pdCh2b2lkKQogewogCWlmICgheGVuX2hh dmVfdmVjdG9yX2NhbGxiYWNrKQogCQlyZXR1cm47CiAJc21wX29wcy5zbXBfcHJlcGFyZV9jcHVz ID0geGVuX2h2bV9zbXBfcHJlcGFyZV9jcHVzOwogCXNtcF9vcHMuc21wX3NlbmRfcmVzY2hlZHVs ZSA9IHhlbl9zbXBfc2VuZF9yZXNjaGVkdWxlOwotCXNtcF9vcHMuY3B1X3VwID0geGVuX2h2bV9j cHVfdXA7CiAJc21wX29wcy5jcHVfZGllID0geGVuX2NwdV9kaWU7CiAJc21wX29wcy5zZW5kX2Nh bGxfZnVuY19pcGkgPSB4ZW5fc21wX3NlbmRfY2FsbF9mdW5jdGlvbl9pcGk7CiAJc21wX29wcy5z ZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBpID0geGVuX3NtcF9zZW5kX2NhbGxfZnVuY3Rpb25fc2lu Z2xlX2lwaTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zbXAuaCBiL2FyY2gveDg2L3hlbi9z bXAuaAppbmRleCA5NjNkNjJhLi40NWZhYWYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc21w LmgKKysrIGIvYXJjaC94ODYveGVuL3NtcC5oCkBAIC04LDYgKzgsOSBAQCBleHRlcm4gdm9pZCB4 ZW5fc2VuZF9JUElfYWxsYnV0c2VsZihpbnQgdmVjdG9yKTsKIGV4dGVybiB2b2lkIHhlbl9zZW5k X0lQSV9hbGwoaW50IHZlY3Rvcik7CiBleHRlcm4gdm9pZCB4ZW5fc2VuZF9JUElfc2VsZihpbnQg dmVjdG9yKTsKIAorZXh0ZXJuIGludCB4ZW5fc21wX2ludHJfaW5pdCh1bnNpZ25lZCBpbnQgY3B1 KTsKK2V4dGVybiB2b2lkIHhlbl9zbXBfaW50cl9mcmVlKHVuc2lnbmVkIGludCBjcHUpOworCiAj aWZkZWYgQ09ORklHX1hFTl9QVkgKIGV4dGVybiB2b2lkIHhlbl9wdmhfZWFybHlfY3B1X2luaXQo aW50IGNwdSwgYm9vbCBlbnRyeSk7CiAjZWxzZQotLSAKMS43LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=