From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v2 1/2] xen/x86: Move irq allocation from Xen smp_op.cpu_up() Date: Wed, 3 Aug 2016 13:22:27 -0400 Message-ID: <1470244948-17674-2-git-send-email-boris.ostrovsky@oracle.com> References: <1470244948-17674-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.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUzsN-0004i0-Qg for xen-devel@lists.xenproject.org; Wed, 03 Aug 2016 17:22:39 +0000 In-Reply-To: <1470244948-17674-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, jgross@suse.com Cc: xen-devel@lists.xenproject.org, Boris Ostrovsky , linux-kernel@vger.kernel.org List-Id: xen-devel@lists.xenproject.org Q29tbWl0IGNlMGQzYzBhNmZiMSAoImdlbmlycTogUmV2ZXJ0IHNwYXJzZSBpcnEgbG9ja2luZyBh cm91bmQKX19jcHVfdXAoKSBhbmQgbW92ZSBpdCB0byB4ODYgZm9yIG5vdyIpIHJldmVydGVkIGly cSBsb2NraW5nCmludHJvZHVjZWQgYnkgY29tbWl0IGE4OTk0MTgxNjcyNiAoImhvdHBsdWc6IFBy ZXZlbnQgYWxsb2MvZnJlZQpvZiBpcnEgZGVzY3JpcHRvcnMgZHVyaW5nIGNwdSB1cC9kb3duIikg YmVjYXVzZSBvZiBYZW4gYWxsb2NhdGluZwppcnFzIGluIGJvdGggb2YgaXRzIGNwdV91cCBvcHMu CgpXZSBjYW4gbW92ZSB0aG9zZSBhbGxvY2F0aW9ucyBpbnRvIENQVSBub3RpZmllcnMgc28gdGhh dCBvcmlnaW5hbApwYXRjaCBjYW4gYmUgcmVpbnN0YXRlZC4KClNpZ25lZC1vZmYtYnk6IEJvcmlz IE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQoKdjI6IEFkZCBpZmRl ZiBDT05GSUdfU01QIHRvIHNtcC5oCgogYXJjaC94ODYveGVuL2VubGlnaHRlbi5jIHwgNjEgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBhcmNoL3g4Ni94 ZW4vc21wLmMgICAgICAgfCA0NSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog YXJjaC94ODYveGVuL3NtcC5oICAgICAgIHwgMTMgKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgNjMgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94 ODYveGVuL2VubGlnaHRlbi5jIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCmluZGV4IDhmZmIw ODkuLmM3ZjZiMWY5IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuLmMKKysrIGIv YXJjaC94ODYveGVuL2VubGlnaHRlbi5jCkBAIC0xNDAsNiArMTQwLDggQEAgUkVTRVJWRV9CUkso c2hhcmVkX2luZm9fcGFnZV9icmssIFBBR0VfU0laRSk7CiBfX3JlYWRfbW9zdGx5IGludCB4ZW5f aGF2ZV92ZWN0b3JfY2FsbGJhY2s7CiBFWFBPUlRfU1lNQk9MX0dQTCh4ZW5faGF2ZV92ZWN0b3Jf Y2FsbGJhY2spOwogCitzdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHhlbl9jcHVfbm90aWZp ZXI7CisKIC8qCiAgKiBQb2ludCBhdCBzb21lIGVtcHR5IG1lbW9yeSB0byBzdGFydCB3aXRoLiBX ZSBtYXAgdGhlIHJlYWwgc2hhcmVkX2luZm8KICAqIHBhZ2UgYXMgc29vbiBhcyBmaXhtYXAgaXMg dXAgYW5kIHJ1bm5pbmcuCkBAIC0xNjI3LDYgKzE2MjksNyBAQCBhc21saW5rYWdlIF9fdmlzaWJs ZSB2b2lkIF9faW5pdCB4ZW5fc3RhcnRfa2VybmVsKHZvaWQpCiAJeGVuX2luaXRpYWxfZ2R0ID0g JnBlcl9jcHUoZ2R0X3BhZ2UsIDApOwogCiAJeGVuX3NtcF9pbml0KCk7CisJcmVnaXN0ZXJfY3B1 X25vdGlmaWVyKCZ4ZW5fY3B1X25vdGlmaWVyKTsKIAogI2lmZGVmIENPTkZJR19BQ1BJX05VTUEK IAkvKgpAQCAtMTgyMCwyMSArMTgyMyw1MyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9odm1f cHZfaW5mbyh2b2lkKQogCXhlbl9kb21haW5fdHlwZSA9IFhFTl9IVk1fRE9NQUlOOwogfQogCi1z dGF0aWMgaW50IHhlbl9odm1fY3B1X25vdGlmeShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKnNlbGYs IHVuc2lnbmVkIGxvbmcgYWN0aW9uLAotCQkJICAgICAgdm9pZCAqaGNwdSkKK3N0YXRpYyBpbnQg eGVuX2NwdV9ub3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpzZWxmLCB1bnNpZ25lZCBsb25n IGFjdGlvbiwKKwkJCSB2b2lkICpoY3B1KQogewogCWludCBjcHUgPSAobG9uZyloY3B1OworCWlu dCByYzsKKwogCXN3aXRjaCAoYWN0aW9uKSB7CiAJY2FzZSBDUFVfVVBfUFJFUEFSRToKLQkJaWYg KGNwdV9hY3BpX2lkKGNwdSkgIT0gVTMyX01BWCkKLQkJCXBlcl9jcHUoeGVuX3ZjcHVfaWQsIGNw dSkgPSBjcHVfYWNwaV9pZChjcHUpOwotCQllbHNlCi0JCQlwZXJfY3B1KHhlbl92Y3B1X2lkLCBj cHUpID0gY3B1OwotCQl4ZW5fdmNwdV9zZXR1cChjcHUpOwotCQlpZiAoeGVuX2hhdmVfdmVjdG9y X2NhbGxiYWNrKSB7Ci0JCQlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9odm1fc2FmZV9wdmNsb2Nr KSkKLQkJCQl4ZW5fc2V0dXBfdGltZXIoY3B1KTsKKwkJaWYgKHhlbl9odm1fZG9tYWluKCkpIHsK KwkJCS8qCisJCQkgKiBUaGlzIGNhbiBoYXBwZW4gaWYgQ1BVIHdhcyBvZmZsaW5lZCBlYXJsaWVy IGFuZAorCQkJICogb2ZmbGluaW5nIHRpbWVkIG91dCBpbiBjb21tb25fY3B1X2RpZSgpLgorCQkJ ICovCisJCQlpZiAoY3B1X3JlcG9ydF9zdGF0ZShjcHUpID09IENQVV9ERUFEX0ZST1pFTikgewor CQkJCXhlbl9zbXBfaW50cl9mcmVlKGNwdSk7CisJCQkJeGVuX3VuaW5pdF9sb2NrX2NwdShjcHUp OworCQkJfQorCisJCQlpZiAoY3B1X2FjcGlfaWQoY3B1KSAhPSBVMzJfTUFYKQorCQkJCXBlcl9j cHUoeGVuX3ZjcHVfaWQsIGNwdSkgPSBjcHVfYWNwaV9pZChjcHUpOworCQkJZWxzZQorCQkJCXBl cl9jcHUoeGVuX3ZjcHVfaWQsIGNwdSkgPSBjcHU7CisJCQl4ZW5fdmNwdV9zZXR1cChjcHUpOwog CQl9CisKKwkJaWYgKHhlbl9wdl9kb21haW4oKSB8fAorCQkgICAgKHhlbl9oYXZlX3ZlY3Rvcl9j YWxsYmFjayAmJgorCQkgICAgIHhlbl9mZWF0dXJlKFhFTkZFQVRfaHZtX3NhZmVfcHZjbG9jaykp KQorCQkJeGVuX3NldHVwX3RpbWVyKGNwdSk7CisKKwkJcmMgPSB4ZW5fc21wX2ludHJfaW5pdChj cHUpOworCQlpZiAocmMpIHsKKwkJCVdBUk4oMSwgInhlbl9zbXBfaW50cl9pbml0KCkgZm9yIENQ VSAlZCBmYWlsZWQ6ICVkXG4iLAorCQkJICAgICBjcHUsIHJjKTsKKwkJCXJldHVybiBOT1RJRllf QkFEOworCQl9CisKKwkJYnJlYWs7CisJY2FzZSBDUFVfT05MSU5FOgorCQl4ZW5faW5pdF9sb2Nr X2NwdShjcHUpOworCQlicmVhazsKKwljYXNlIENQVV9VUF9DQU5DRUxFRDoKKwkJeGVuX3NtcF9p bnRyX2ZyZWUoY3B1KTsKKwkJaWYgKHhlbl9wdl9kb21haW4oKSB8fAorCQkgICAgKHhlbl9oYXZl X3ZlY3Rvcl9jYWxsYmFjayAmJgorCQkgICAgIHhlbl9mZWF0dXJlKFhFTkZFQVRfaHZtX3NhZmVf cHZjbG9jaykpKQorCQkJeGVuX3RlYXJkb3duX3RpbWVyKGNwdSk7CiAJCWJyZWFrOwogCWRlZmF1 bHQ6CiAJCWJyZWFrOwpAQCAtMTg0Miw4ICsxODc3LDggQEAgc3RhdGljIGludCB4ZW5faHZtX2Nw dV9ub3RpZnkoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpzZWxmLCB1bnNpZ25lZCBsb25nIGFjdGlv biwKIAlyZXR1cm4gTk9USUZZX09LOwogfQogCi1zdGF0aWMgc3RydWN0IG5vdGlmaWVyX2Jsb2Nr IHhlbl9odm1fY3B1X25vdGlmaWVyID0gewotCS5ub3RpZmllcl9jYWxsCT0geGVuX2h2bV9jcHVf bm90aWZ5LAorc3RhdGljIHN0cnVjdCBub3RpZmllcl9ibG9jayB4ZW5fY3B1X25vdGlmaWVyID0g eworCS5ub3RpZmllcl9jYWxsCT0geGVuX2NwdV9ub3RpZnksCiB9OwogCiAjaWZkZWYgQ09ORklH X0tFWEVDX0NPUkUKQEAgLTE4NzUsNyArMTkxMCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCB4ZW5f aHZtX2d1ZXN0X2luaXQodm9pZCkKIAlpZiAoeGVuX2ZlYXR1cmUoWEVORkVBVF9odm1fY2FsbGJh Y2tfdmVjdG9yKSkKIAkJeGVuX2hhdmVfdmVjdG9yX2NhbGxiYWNrID0gMTsKIAl4ZW5faHZtX3Nt cF9pbml0KCk7Ci0JcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZ4ZW5faHZtX2NwdV9ub3RpZmllcik7 CisJcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZ4ZW5fY3B1X25vdGlmaWVyKTsKIAl4ZW5fdW5wbHVn X2VtdWxhdGVkX2RldmljZXMoKTsKIAl4ODZfaW5pdC5pcnFzLmludHJfaW5pdCA9IHhlbl9pbml0 X0lSUTsKIAl4ZW5faHZtX2luaXRfdGltZV9vcHMoKTsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hl bi9zbXAuYyBiL2FyY2gveDg2L3hlbi9zbXAuYwppbmRleCAwYjRkMDRjLi4xMzdhZmJiIDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni94ZW4vc21wLmMKKysrIGIvYXJjaC94ODYveGVuL3NtcC5jCkBAIC0x MTUsNyArMTE1LDcgQEAgYXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBjcHVfYnJpbmd1cF9hbmRf aWRsZShpbnQgY3B1KQogCWNwdV9zdGFydHVwX2VudHJ5KENQVUhQX0FQX09OTElORV9JRExFKTsK IH0KIAotc3RhdGljIHZvaWQgeGVuX3NtcF9pbnRyX2ZyZWUodW5zaWduZWQgaW50IGNwdSkKK3Zv aWQgeGVuX3NtcF9pbnRyX2ZyZWUodW5zaWduZWQgaW50IGNwdSkKIHsKIAlpZiAocGVyX2NwdSh4 ZW5fcmVzY2hlZF9pcnEsIGNwdSkuaXJxID49IDApIHsKIAkJdW5iaW5kX2Zyb21faXJxaGFuZGxl cihwZXJfY3B1KHhlbl9yZXNjaGVkX2lycSwgY3B1KS5pcnEsIE5VTEwpOwpAQCAtMTU5LDcgKzE1 OSw3IEBAIHN0YXRpYyB2b2lkIHhlbl9zbXBfaW50cl9mcmVlKHVuc2lnbmVkIGludCBjcHUpCiAJ CXBlcl9jcHUoeGVuX3BtdV9pcnEsIGNwdSkubmFtZSA9IE5VTEw7CiAJfQogfTsKLXN0YXRpYyBp bnQgeGVuX3NtcF9pbnRyX2luaXQodW5zaWduZWQgaW50IGNwdSkKK2ludCB4ZW5fc21wX2ludHJf aW5pdCh1bnNpZ25lZCBpbnQgY3B1KQogewogCWludCByYzsKIAljaGFyICpyZXNjaGVkX25hbWUs ICpjYWxsZnVuY19uYW1lLCAqZGVidWdfbmFtZSwgKnBtdV9uYW1lOwpAQCAtNDc1LDggKzQ3NSw2 IEBAIHN0YXRpYyBpbnQgeGVuX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgdGFza19z dHJ1Y3QgKmlkbGUpCiAJY29tbW9uX2NwdV91cChjcHUsIGlkbGUpOwogCiAJeGVuX3NldHVwX3J1 bnN0YXRlX2luZm8oY3B1KTsKLQl4ZW5fc2V0dXBfdGltZXIoY3B1KTsKLQl4ZW5faW5pdF9sb2Nr X2NwdShjcHUpOwogCiAJLyoKIAkgKiBQViBWQ1BVcyBhcmUgYWx3YXlzIHN1Y2Nlc3NmdWxseSB0 YWtlbiBkb3duIChzZWUgJ3doaWxlJyBsb29wCkBAIC00OTUsMTAgKzQ5Myw2IEBAIHN0YXRpYyBp bnQgeGVuX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKmlkbGUp CiAKIAl4ZW5fcG11X2luaXQoY3B1KTsKIAotCXJjID0geGVuX3NtcF9pbnRyX2luaXQoY3B1KTsK LQlpZiAocmMpCi0JCXJldHVybiByYzsKLQogCXJjID0gSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVP UF91cCwgeGVuX3ZjcHVfbnIoY3B1KSwgTlVMTCk7CiAJQlVHX09OKHJjKTsKIApAQCAtNzY5LDQ3 ICs3NjMsMTIgQEAgc3RhdGljIHZvaWQgX19pbml0IHhlbl9odm1fc21wX3ByZXBhcmVfY3B1cyh1 bnNpZ25lZCBpbnQgbWF4X2NwdXMpCiAJeGVuX2luaXRfbG9ja19jcHUoMCk7CiB9CiAKLXN0YXRp YyBpbnQgeGVuX2h2bV9jcHVfdXAodW5zaWduZWQgaW50IGNwdSwgc3RydWN0IHRhc2tfc3RydWN0 ICp0aWRsZSkKLXsKLQlpbnQgcmM7Ci0KLQkvKgotCSAqIFRoaXMgY2FuIGhhcHBlbiBpZiBDUFUg d2FzIG9mZmxpbmVkIGVhcmxpZXIgYW5kCi0JICogb2ZmbGluaW5nIHRpbWVkIG91dCBpbiBjb21t b25fY3B1X2RpZSgpLgotCSAqLwotCWlmIChjcHVfcmVwb3J0X3N0YXRlKGNwdSkgPT0gQ1BVX0RF QURfRlJPWkVOKSB7Ci0JCXhlbl9zbXBfaW50cl9mcmVlKGNwdSk7Ci0JCXhlbl91bmluaXRfbG9j a19jcHUoY3B1KTsKLQl9Ci0KLQkvKgotCSAqIHhlbl9zbXBfaW50cl9pbml0KCkgbmVlZHMgdG8g cnVuIGJlZm9yZSBuYXRpdmVfY3B1X3VwKCkKLQkgKiBzbyB0aGF0IElQSSB2ZWN0b3JzIGFyZSBz ZXQgdXAgb24gdGhlIGJvb3RpbmcgQ1BVIGJlZm9yZQotCSAqIGl0IGlzIG1hcmtlZCBvbmxpbmUg aW4gbmF0aXZlX2NwdV91cCgpLgotCSovCi0JcmMgPSB4ZW5fc21wX2ludHJfaW5pdChjcHUpOwot CVdBUk5fT04ocmMpOwotCWlmICghcmMpCi0JCXJjID0gIG5hdGl2ZV9jcHVfdXAoY3B1LCB0aWRs ZSk7Ci0KLQkvKgotCSAqIFdlIG11c3QgaW5pdGlhbGl6ZSB0aGUgc2xvd3BhdGggQ1BVIGtpY2tl ciBfYWZ0ZXJfIHRoZSBuYXRpdmUKLQkgKiBwYXRoIGhhcyBleGVjdXRlZC4gSWYgd2UgaW5pdGlh bGl6ZWQgaXQgYmVmb3JlIG5vbmUgb2YgdGhlCi0JICogdW5sb2NrZXIgSVBJIGtpY2tzIHdvdWxk IHJlYWNoIHRoZSBib290aW5nIENQVSBhcyB0aGUgYm9vdGluZwotCSAqIENQVSBoYWQgbm90IHNl dCBpdHNlbGYgJ29ubGluZScgaW4gY3B1X29ubGluZV9tYXNrLiBUaGF0IG1hc2sKLQkgKiBpcyBj aGVja2VkIHdoZW4gSVBJcyBhcmUgc2VudCAob24gSFZNIGF0IGxlYXN0KS4KLQkgKi8KLQl4ZW5f aW5pdF9sb2NrX2NwdShjcHUpOwotCXJldHVybiByYzsKLX0KLQogdm9pZCBfX2luaXQgeGVuX2h2 bV9zbXBfaW5pdCh2b2lkKQogewogCWlmICgheGVuX2hhdmVfdmVjdG9yX2NhbGxiYWNrKQogCQly ZXR1cm47CiAJc21wX29wcy5zbXBfcHJlcGFyZV9jcHVzID0geGVuX2h2bV9zbXBfcHJlcGFyZV9j cHVzOwogCXNtcF9vcHMuc21wX3NlbmRfcmVzY2hlZHVsZSA9IHhlbl9zbXBfc2VuZF9yZXNjaGVk dWxlOwotCXNtcF9vcHMuY3B1X3VwID0geGVuX2h2bV9jcHVfdXA7CiAJc21wX29wcy5jcHVfZGll ID0geGVuX2NwdV9kaWU7CiAJc21wX29wcy5zZW5kX2NhbGxfZnVuY19pcGkgPSB4ZW5fc21wX3Nl bmRfY2FsbF9mdW5jdGlvbl9pcGk7CiAJc21wX29wcy5zZW5kX2NhbGxfZnVuY19zaW5nbGVfaXBp ID0geGVuX3NtcF9zZW5kX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2lwaTsKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L3hlbi9zbXAuaCBiL2FyY2gveDg2L3hlbi9zbXAuaAppbmRleCA5NjNkNjJhLi5jNWMx NmRjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4vc21wLmgKKysrIGIvYXJjaC94ODYveGVuL3Nt cC5oCkBAIC0xLDUgKzEsNiBAQAogI2lmbmRlZiBfWEVOX1NNUF9ICiAKKyNpZmRlZiBDT05GSUdf U01QCiBleHRlcm4gdm9pZCB4ZW5fc2VuZF9JUElfbWFzayhjb25zdCBzdHJ1Y3QgY3B1bWFzayAq bWFzaywKIAkJCSAgICAgIGludCB2ZWN0b3IpOwogZXh0ZXJuIHZvaWQgeGVuX3NlbmRfSVBJX21h c2tfYWxsYnV0c2VsZihjb25zdCBzdHJ1Y3QgY3B1bWFzayAqbWFzaywKQEAgLTgsNiArOSwxOCBA QCBleHRlcm4gdm9pZCB4ZW5fc2VuZF9JUElfYWxsYnV0c2VsZihpbnQgdmVjdG9yKTsKIGV4dGVy biB2b2lkIHhlbl9zZW5kX0lQSV9hbGwoaW50IHZlY3Rvcik7CiBleHRlcm4gdm9pZCB4ZW5fc2Vu ZF9JUElfc2VsZihpbnQgdmVjdG9yKTsKIAorZXh0ZXJuIGludCB4ZW5fc21wX2ludHJfaW5pdCh1 bnNpZ25lZCBpbnQgY3B1KTsKK2V4dGVybiB2b2lkIHhlbl9zbXBfaW50cl9mcmVlKHVuc2lnbmVk IGludCBjcHUpOworCisjZWxzZSAvKiBDT05GSUdfU01QICovCisKK3N0YXRpYyBpbmxpbmUgaW50 IHhlbl9zbXBfaW50cl9pbml0KHVuc2lnbmVkIGludCBjcHUpCit7CisJcmV0dXJuIDA7Cit9Citz dGF0aWMgaW5saW5lIHZvaWQgeGVuX3NtcF9pbnRyX2ZyZWUodW5zaWduZWQgaW50IGNwdSkge30K KyNlbmRpZiAvKiBDT05GSUdfU01QICovCisKICNpZmRlZiBDT05GSUdfWEVOX1BWSAogZXh0ZXJu IHZvaWQgeGVuX3B2aF9lYXJseV9jcHVfaW5pdChpbnQgY3B1LCBib29sIGVudHJ5KTsKICNlbHNl Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=