From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [4.9,24/72] x86/irq, trace: Add __irq_entry annotation to x86s platform IRQ handlers From: Greg Kroah-Hartman Message-Id: <20171119143533.372826559@linuxfoundation.org> Date: Sun, 19 Nov 2017 15:38:28 +0100 To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Daniel Bristot de Oliveira , "Steven Rostedt (VMware)" , Aaron Lu , Andrew Morton , Baoquan He , Borislav Petkov , Claudio Fontana , Denys Vlasenko , Dou Liyang , Gu Zheng , Hidehiro Kawai , Linus Torvalds , Nicolai Stange , "Peter Zijlstra (Intel)" , Thomas Gleixner , Tony Luck , Wanpeng Li , linux-edac@vger.kernel.org, Ingo Molnar , Sasha Levin List-ID: NC45LXN0YWJsZSByZXZpZXcgcGF0Y2guICBJZiBhbnlvbmUgaGFzIGFueSBvYmplY3Rpb25zLCBw bGVhc2UgbGV0IG1lIGtub3cuCgotLS0tLS0tLS0tLS0tLS0tLS0KCkZyb206IERhbmllbCBCcmlz dG90IGRlIE9saXZlaXJhIDxicmlzdG90QHJlZGhhdC5jb20+CgoKWyBVcHN0cmVhbSBjb21taXQg YzQxNThmZjUzNjQzOTYxOWZhMzQyODEwY2M1NzVhZTJjODA5ZjAzZiBdCgpUaGlzIHBhdGNoIGFk ZHMgdGhlIF9faXJxX2VudHJ5IGFubm90YXRpb24gdG8gdGhlIGRlZmF1bHQgeDg2CnBsYXRmb3Jt IElSUSBoYW5kbGVycy4gZnRyYWNlJ3MgZnVuY3Rpb25fZ3JhcGggdHJhY2VyIHVzZXMgdGhlCl9f aXJxX2VudHJ5IGFubm90YXRpb24gdG8gbm90aWZ5IHRoZSBlbnRyeSBhbmQgcmV0dXJuIG9mIElS UQpoYW5kbGVycy4KCkZvciBleGFtcGxlLCBiZWZvcmUgdGhlIHBhdGNoOgogIDM1NDU0OS42Njcy NTIgfCAgIDMpICBkLi4xICAgICAgICAgICAgICB8ICBkZWZhdWx0X2lkbGVfY2FsbCgpIHsKICAz NTQ1NDkuNjY3MjUyIHwgICAzKSAgZC4uMSAgICAgICAgICAgICAgfCAgICBhcmNoX2NwdV9pZGxl KCkgewogIDM1NDU0OS42NjcyNTMgfCAgIDMpICBkLi4xICAgICAgICAgICAgICB8ICAgICAgZGVm YXVsdF9pZGxlKCkgewogIDM1NDU0OS42OTY4ODYgfCAgIDMpICBkLi4xICAgICAgICAgICAgICB8 ICAgICAgICBzbXBfdHJhY2VfcmVzY2hlZHVsZV9pbnRlcnJ1cHQoKSB7CiAgMzU0NTQ5LjY5Njg4 NiB8ICAgMykgIGQuLjEgICAgICAgICAgICAgIHwgICAgICAgICAgaXJxX2VudGVyKCkgewogIDM1 NDU0OS42OTY4ODYgfCAgIDMpICBkLi4xICAgICAgICAgICAgICB8ICAgICAgICAgICAgcmN1X2ly cV9lbnRlcigpIHsKCkFmdGVyIHRoZSBwYXRjaDoKICAzNjY0MTYuMjU0NDc2IHwgICAzKSAgZC4u MSAgICAgICAgICAgICAgfCAgICBhcmNoX2NwdV9pZGxlKCkgewogIDM2NjQxNi4yNTQ0NzYgfCAg IDMpICBkLi4xICAgICAgICAgICAgICB8ICAgICAgZGVmYXVsdF9pZGxlKCkgewogIDM2NjQxNi4y NjE1NjYgfCAgIDMpICBkLi4xICA9PT09PT09PT09PiB8CiAgMzY2NDE2LjI2MTU2NiB8ICAgMykg IGQuLjEgICAgICAgICAgICAgIHwgICAgICAgIHNtcF90cmFjZV9yZXNjaGVkdWxlX2ludGVycnVw dCgpIHsKICAzNjY0MTYuMjYxNTY2IHwgICAzKSAgZC4uMSAgICAgICAgICAgICAgfCAgICAgICAg ICBpcnFfZW50ZXIoKSB7CiAgMzY2NDE2LjI2MTU2NiB8ICAgMykgIGQuLjEgICAgICAgICAgICAg IHwgICAgICAgICAgICByY3VfaXJxX2VudGVyKCkgewoKS0FTQU4gYWxzbyB1c2VzIHRoaXMgYW5u b3RhdGlvbi4gVGhlIHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCgpCndhcyBhbHJlYWR5IGFubm90 YXRlZC4KClNpZ25lZC1vZmYtYnk6IERhbmllbCBCcmlzdG90IGRlIE9saXZlaXJhIDxicmlzdG90 QHJlZGhhdC5jb20+CkFja2VkLWJ5OiBTdGV2ZW4gUm9zdGVkdCAoVk13YXJlKSA8cm9zdGVkdEBn b29kbWlzLm9yZz4KQ2M6IEFhcm9uIEx1IDxhYXJvbi5sdUBpbnRlbC5jb20+CkNjOiBBbmRyZXcg TW9ydG9uIDxha3BtQGxpbnV4LWZvdW5kYXRpb24ub3JnPgpDYzogQmFvcXVhbiBIZSA8YmhlQHJl ZGhhdC5jb20+CkNjOiBCb3Jpc2xhdiBQZXRrb3YgPGJwQGFsaWVuOC5kZT4KQ2M6IENsYXVkaW8g Rm9udGFuYSA8Y2xhdWRpby5mb250YW5hQGh1YXdlaS5jb20+CkNjOiBEZW55cyBWbGFzZW5rbyA8 ZHZsYXNlbmtAcmVkaGF0LmNvbT4KQ2M6IERvdSBMaXlhbmcgPGRvdWx5LmZuc3RAY24uZnVqaXRz dS5jb20+CkNjOiBHdSBaaGVuZyA8Z3V6LmZuc3RAY24uZnVqaXRzdS5jb20+CkNjOiBIaWRlaGly byBLYXdhaSA8aGlkZWhpcm8ua2F3YWkuZXpAaGl0YWNoaS5jb20+CkNjOiBMaW51cyBUb3J2YWxk cyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBOaWNvbGFpIFN0YW5nZSA8bmlj c3RhbmdlQGdtYWlsLmNvbT4KQ2M6IFBldGVyIFppamxzdHJhIChJbnRlbCkgPHBldGVyekBpbmZy YWRlYWQub3JnPgpDYzogU3RldmVuIFJvc3RlZHQgPHJvc3RlZHRAZ29vZG1pcy5vcmc+CkNjOiBU aG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KQ2M6IFRvbnkgTHVjayA8dG9ueS5s dWNrQGludGVsLmNvbT4KQ2M6IFdhbnBlbmcgTGkgPHdhbnBlbmcubGlAaG90bWFpbC5jb20+CkNj OiBsaW51eC1lZGFjQHZnZXIua2VybmVsLm9yZwpMaW5rOiBodHRwOi8vbGttbC5rZXJuZWwub3Jn L3IvMDU5ZmRmNDM3YzJmMGMwOWIxM2MxOGM4ZmU0ZTY5OTk5ZDNmZmU2OS4xNDgzNTI4NDMxLmdp dC5icmlzdG90QHJlZGhhdC5jb20KU2lnbmVkLW9mZi1ieTogSW5nbyBNb2xuYXIgPG1pbmdvQGtl cm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IFNhc2hhIExldmluIDxhbGV4YW5kZXIubGV2aW5AdmVy aXpvbi5jb20+ClNpZ25lZC1vZmYtYnk6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4 Zm91bmRhdGlvbi5vcmc+Ci0tLQogYXJjaC94ODYva2VybmVsL2FwaWMvYXBpYy5jICAgICAgICAg ICAgICB8ICAgIDggKysrKy0tLS0KIGFyY2gveDg2L2tlcm5lbC9hcGljL3ZlY3Rvci5jICAgICAg ICAgICAgfCAgICAyICstCiBhcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2VfYW1kLmMgICAg IHwgICAgNCArKy0tCiBhcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay90aGVybV90aHJvdC5jIHwg ICAgNiArKysrLS0KIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL3RocmVzaG9sZC5jICAgfCAg ICA0ICsrLS0KIGFyY2gveDg2L2tlcm5lbC9pcnEuYyAgICAgICAgICAgICAgICAgICAgfCAgICA0 ICsrLS0KIGFyY2gveDg2L2tlcm5lbC9pcnFfd29yay5jICAgICAgICAgICAgICAgfCAgICA1ICsr Ky0tCiBhcmNoL3g4Ni9rZXJuZWwvc21wLmMgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysr KysrKystLS0tLS0KIDggZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRp b25zKC0pCgoKCi0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5l ICJ1bnN1YnNjcmliZSBsaW51eC1lZGFjIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFq b3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdl ci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwKCi0tLSBhL2FyY2gveDg2L2tlcm5lbC9h cGljL2FwaWMuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvYXBpYy9hcGljLmMKQEAgLTE4NjMsMTQg KzE4NjMsMTQgQEAgc3RhdGljIHZvaWQgX19zbXBfc3B1cmlvdXNfaW50ZXJydXB0KHU4CiAJCSJz aG91bGQgbmV2ZXIgaGFwcGVuLlxuIiwgdmVjdG9yLCBzbXBfcHJvY2Vzc29yX2lkKCkpOwogfQog Ci1fX3Zpc2libGUgdm9pZCBzbXBfc3B1cmlvdXNfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpy ZWdzKQorX192aXNpYmxlIHZvaWQgX19pcnFfZW50cnkgc21wX3NwdXJpb3VzX2ludGVycnVwdChz dHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAllbnRlcmluZ19pcnEoKTsKIAlfX3NtcF9zcHVyaW91 c19pbnRlcnJ1cHQofnJlZ3MtPm9yaWdfYXgpOwogCWV4aXRpbmdfaXJxKCk7CiB9CiAKLV9fdmlz aWJsZSB2b2lkIHNtcF90cmFjZV9zcHVyaW91c19pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJl Z3MpCitfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeSBzbXBfdHJhY2Vfc3B1cmlvdXNfaW50ZXJy dXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXU4IHZlY3RvciA9IH5yZWdzLT5vcmlnX2F4 OwogCkBAIC0xOTIxLDE0ICsxOTIxLDE0IEBAIHN0YXRpYyB2b2lkIF9fc21wX2Vycm9yX2ludGVy cnVwdChzdHJ1Y3QKIAogfQogCi1fX3Zpc2libGUgdm9pZCBzbXBfZXJyb3JfaW50ZXJydXB0KHN0 cnVjdCBwdF9yZWdzICpyZWdzKQorX192aXNpYmxlIHZvaWQgX19pcnFfZW50cnkgc21wX2Vycm9y X2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAllbnRlcmluZ19pcnEoKTsKIAlf X3NtcF9lcnJvcl9pbnRlcnJ1cHQocmVncyk7CiAJZXhpdGluZ19pcnEoKTsKIH0KIAotX192aXNp YmxlIHZvaWQgc21wX3RyYWNlX2Vycm9yX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykK K19fdmlzaWJsZSB2b2lkIF9faXJxX2VudHJ5IHNtcF90cmFjZV9lcnJvcl9pbnRlcnJ1cHQoc3Ry dWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJZW50ZXJpbmdfaXJxKCk7CiAJdHJhY2VfZXJyb3JfYXBp Y19lbnRyeShFUlJPUl9BUElDX1ZFQ1RPUik7Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9hcGljL3Zl Y3Rvci5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9hcGljL3ZlY3Rvci5jCkBAIC01NTksNyArNTU5 LDcgQEAgdm9pZCBzZW5kX2NsZWFudXBfdmVjdG9yKHN0cnVjdCBpcnFfY2ZnCiAJCV9fc2VuZF9j bGVhbnVwX3ZlY3RvcihkYXRhKTsKIH0KIAotYXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBzbXBf aXJxX21vdmVfY2xlYW51cF9pbnRlcnJ1cHQodm9pZCkKK2FzbWxpbmthZ2UgX192aXNpYmxlIHZv aWQgX19pcnFfZW50cnkgc21wX2lycV9tb3ZlX2NsZWFudXBfaW50ZXJydXB0KHZvaWQpCiB7CiAJ dW5zaWduZWQgdmVjdG9yLCBtZTsKIAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9t Y2VfYW1kLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlX2FtZC5jCkBAIC01 OTMsMTQgKzU5MywxNCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19zbXBfZGVmZXJyZWRfZXJyb3Jf CiAJZGVmZXJyZWRfZXJyb3JfaW50X3ZlY3RvcigpOwogfQogCi1hc21saW5rYWdlIF9fdmlzaWJs ZSB2b2lkIHNtcF9kZWZlcnJlZF9lcnJvcl9pbnRlcnJ1cHQodm9pZCkKK2FzbWxpbmthZ2UgX192 aXNpYmxlIHZvaWQgX19pcnFfZW50cnkgc21wX2RlZmVycmVkX2Vycm9yX2ludGVycnVwdCh2b2lk KQogewogCWVudGVyaW5nX2lycSgpOwogCV9fc21wX2RlZmVycmVkX2Vycm9yX2ludGVycnVwdCgp OwogCWV4aXRpbmdfYWNrX2lycSgpOwogfQogCi1hc21saW5rYWdlIF9fdmlzaWJsZSB2b2lkIHNt cF90cmFjZV9kZWZlcnJlZF9lcnJvcl9pbnRlcnJ1cHQodm9pZCkKK2FzbWxpbmthZ2UgX192aXNp YmxlIHZvaWQgX19pcnFfZW50cnkgc21wX3RyYWNlX2RlZmVycmVkX2Vycm9yX2ludGVycnVwdCh2 b2lkKQogewogCWVudGVyaW5nX2lycSgpOwogCXRyYWNlX2RlZmVycmVkX2Vycm9yX2FwaWNfZW50 cnkoREVGRVJSRURfRVJST1JfVkVDVE9SKTsKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hl Y2svdGhlcm1fdGhyb3QuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay90aGVybV90 aHJvdC5jCkBAIC00MzEsMTQgKzQzMSwxNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX19zbXBfdGhl cm1hbF9pbnRlcnJ1CiAJc21wX3RoZXJtYWxfdmVjdG9yKCk7CiB9CiAKLWFzbWxpbmthZ2UgX192 aXNpYmxlIHZvaWQgc21wX3RoZXJtYWxfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQor YXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeQorc21wX3RoZXJtYWxfaW50ZXJy dXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCWVudGVyaW5nX2lycSgpOwogCV9fc21wX3Ro ZXJtYWxfaW50ZXJydXB0KCk7CiAJZXhpdGluZ19hY2tfaXJxKCk7CiB9CiAKLWFzbWxpbmthZ2Ug X192aXNpYmxlIHZvaWQgc21wX3RyYWNlX3RoZXJtYWxfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdz ICpyZWdzKQorYXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeQorc21wX3RyYWNl X3RoZXJtYWxfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCWVudGVyaW5nX2ly cSgpOwogCXRyYWNlX3RoZXJtYWxfYXBpY19lbnRyeShUSEVSTUFMX0FQSUNfVkVDVE9SKTsKLS0t IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svdGhyZXNob2xkLmMKKysrIGIvYXJjaC94ODYv a2VybmVsL2NwdS9tY2hlY2svdGhyZXNob2xkLmMKQEAgLTI0LDE0ICsyNCwxNCBAQCBzdGF0aWMg aW5saW5lIHZvaWQgX19zbXBfdGhyZXNob2xkX2ludGVyCiAJbWNlX3RocmVzaG9sZF92ZWN0b3Io KTsKIH0KIAotYXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBzbXBfdGhyZXNob2xkX2ludGVycnVw dCh2b2lkKQorYXNtbGlua2FnZSBfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeSBzbXBfdGhyZXNo b2xkX2ludGVycnVwdCh2b2lkKQogewogCWVudGVyaW5nX2lycSgpOwogCV9fc21wX3RocmVzaG9s ZF9pbnRlcnJ1cHQoKTsKIAlleGl0aW5nX2Fja19pcnEoKTsKIH0KIAotYXNtbGlua2FnZSBfX3Zp c2libGUgdm9pZCBzbXBfdHJhY2VfdGhyZXNob2xkX2ludGVycnVwdCh2b2lkKQorYXNtbGlua2Fn ZSBfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeSBzbXBfdHJhY2VfdGhyZXNob2xkX2ludGVycnVw dCh2b2lkKQogewogCWVudGVyaW5nX2lycSgpOwogCXRyYWNlX3RocmVzaG9sZF9hcGljX2VudHJ5 KFRIUkVTSE9MRF9BUElDX1ZFQ1RPUik7Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9pcnEuYworKysg Yi9hcmNoL3g4Ni9rZXJuZWwvaXJxLmMKQEAgLTI2NSw3ICsyNjUsNyBAQCB2b2lkIF9fc21wX3g4 Nl9wbGF0Zm9ybV9pcGkodm9pZCkKIAkJeDg2X3BsYXRmb3JtX2lwaV9jYWxsYmFjaygpOwogfQog Ci1fX3Zpc2libGUgdm9pZCBzbXBfeDg2X3BsYXRmb3JtX2lwaShzdHJ1Y3QgcHRfcmVncyAqcmVn cykKK19fdmlzaWJsZSB2b2lkIF9faXJxX2VudHJ5IHNtcF94ODZfcGxhdGZvcm1faXBpKHN0cnVj dCBwdF9yZWdzICpyZWdzKQogewogCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVncyA9IHNldF9pcnFf cmVncyhyZWdzKTsKIApAQCAtMzE2LDcgKzMxNiw3IEBAIF9fdmlzaWJsZSB2b2lkIHNtcF9rdm1f cG9zdGVkX2ludHJfd2FrZXUKIH0KICNlbmRpZgogCi1fX3Zpc2libGUgdm9pZCBzbXBfdHJhY2Vf eDg2X3BsYXRmb3JtX2lwaShzdHJ1Y3QgcHRfcmVncyAqcmVncykKK19fdmlzaWJsZSB2b2lkIF9f aXJxX2VudHJ5IHNtcF90cmFjZV94ODZfcGxhdGZvcm1faXBpKHN0cnVjdCBwdF9yZWdzICpyZWdz KQogewogCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVncyA9IHNldF9pcnFfcmVncyhyZWdzKTsKIAot LS0gYS9hcmNoL3g4Ni9rZXJuZWwvaXJxX3dvcmsuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaXJx X3dvcmsuYwpAQCAtOSw2ICs5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9oYXJkaXJxLmg+CiAjaW5j bHVkZSA8YXNtL2FwaWMuaD4KICNpbmNsdWRlIDxhc20vdHJhY2UvaXJxX3ZlY3RvcnMuaD4KKyNp bmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KIAogc3RhdGljIGlubGluZSB2b2lkIF9fc21wX2ly cV93b3JrX2ludGVycnVwdCh2b2lkKQogewpAQCAtMTYsMTQgKzE3LDE0IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBfX3NtcF9pcnFfd29ya19pbnRlcnIKIAlpcnFfd29ya19ydW4oKTsKIH0KIAotX192 aXNpYmxlIHZvaWQgc21wX2lycV93b3JrX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykK K19fdmlzaWJsZSB2b2lkIF9faXJxX2VudHJ5IHNtcF9pcnFfd29ya19pbnRlcnJ1cHQoc3RydWN0 IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJaXBpX2VudGVyaW5nX2Fja19pcnEoKTsKIAlfX3NtcF9pcnFf d29ya19pbnRlcnJ1cHQoKTsKIAlleGl0aW5nX2lycSgpOwogfQogCi1fX3Zpc2libGUgdm9pZCBz bXBfdHJhY2VfaXJxX3dvcmtfaW50ZXJydXB0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQorX192aXNp YmxlIHZvaWQgX19pcnFfZW50cnkgc21wX3RyYWNlX2lycV93b3JrX2ludGVycnVwdChzdHJ1Y3Qg cHRfcmVncyAqcmVncykKIHsKIAlpcGlfZW50ZXJpbmdfYWNrX2lycSgpOwogCXRyYWNlX2lycV93 b3JrX2VudHJ5KElSUV9XT1JLX1ZFQ1RPUik7Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zbXAuYwor KysgYi9hcmNoL3g4Ni9rZXJuZWwvc21wLmMKQEAgLTI1OSw3ICsyNTksNyBAQCBzdGF0aWMgaW5s aW5lIHZvaWQgX19zbXBfcmVzY2hlZHVsZV9pbnRlCiAJc2NoZWR1bGVyX2lwaSgpOwogfQogCi1f X3Zpc2libGUgdm9pZCBzbXBfcmVzY2hlZHVsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJl Z3MpCitfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeSBzbXBfcmVzY2hlZHVsZV9pbnRlcnJ1cHQo c3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJaXJxX2VudGVyKCk7CiAJYWNrX0FQSUNfaXJxKCk7 CkBAIC0yNzAsNyArMjcwLDcgQEAgX192aXNpYmxlIHZvaWQgc21wX3Jlc2NoZWR1bGVfaW50ZXJy dXB0KAogCSAqLwogfQogCi1fX3Zpc2libGUgdm9pZCBzbXBfdHJhY2VfcmVzY2hlZHVsZV9pbnRl cnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCitfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeSBz bXBfdHJhY2VfcmVzY2hlZHVsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAJ LyoKIAkgKiBOZWVkIHRvIGNhbGwgaXJxX2VudGVyKCkgYmVmb3JlIGNhbGxpbmcgdGhlIHRyYWNl IHBvaW50LgpAQCAtMjk0LDE0ICsyOTQsMTUgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fc21wX2Nh bGxfZnVuY3Rpb25faQogCWluY19pcnFfc3RhdChpcnFfY2FsbF9jb3VudCk7CiB9CiAKLV9fdmlz aWJsZSB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVn cykKK19fdmlzaWJsZSB2b2lkIF9faXJxX2VudHJ5IHNtcF9jYWxsX2Z1bmN0aW9uX2ludGVycnVw dChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlpcGlfZW50ZXJpbmdfYWNrX2lycSgpOwogCV9f c21wX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KCk7CiAJZXhpdGluZ19pcnEoKTsKIH0KIAotX192 aXNpYmxlIHZvaWQgc21wX3RyYWNlX2NhbGxfZnVuY3Rpb25faW50ZXJydXB0KHN0cnVjdCBwdF9y ZWdzICpyZWdzKQorX192aXNpYmxlIHZvaWQgX19pcnFfZW50cnkKK3NtcF90cmFjZV9jYWxsX2Z1 bmN0aW9uX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlpcGlfZW50ZXJpbmdf YWNrX2lycSgpOwogCXRyYWNlX2NhbGxfZnVuY3Rpb25fZW50cnkoQ0FMTF9GVU5DVElPTl9WRUNU T1IpOwpAQCAtMzE2LDE0ICszMTcsMTYgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fc21wX2NhbGxf ZnVuY3Rpb25fcwogCWluY19pcnFfc3RhdChpcnFfY2FsbF9jb3VudCk7CiB9CiAKLV9fdmlzaWJs ZSB2b2lkIHNtcF9jYWxsX2Z1bmN0aW9uX3NpbmdsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3Mg KnJlZ3MpCitfX3Zpc2libGUgdm9pZCBfX2lycV9lbnRyeQorc21wX2NhbGxfZnVuY3Rpb25fc2lu Z2xlX2ludGVycnVwdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlpcGlfZW50ZXJpbmdfYWNr X2lycSgpOwogCV9fc21wX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdCgpOwogCWV4aXRp bmdfaXJxKCk7CiB9CiAKLV9fdmlzaWJsZSB2b2lkIHNtcF90cmFjZV9jYWxsX2Z1bmN0aW9uX3Np bmdsZV9pbnRlcnJ1cHQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCitfX3Zpc2libGUgdm9pZCBfX2ly cV9lbnRyeQorc21wX3RyYWNlX2NhbGxfZnVuY3Rpb25fc2luZ2xlX2ludGVycnVwdChzdHJ1Y3Qg cHRfcmVncyAqcmVncykKIHsKIAlpcGlfZW50ZXJpbmdfYWNrX2lycSgpOwogCXRyYWNlX2NhbGxf ZnVuY3Rpb25fc2luZ2xlX2VudHJ5KENBTExfRlVOQ1RJT05fU0lOR0xFX1ZFQ1RPUik7Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752866AbdKSOkK (ORCPT ); Sun, 19 Nov 2017 09:40:10 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:52842 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752462AbdKSOkG (ORCPT ); Sun, 19 Nov 2017 09:40:06 -0500 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Daniel Bristot de Oliveira , "Steven Rostedt (VMware)" , Aaron Lu , Andrew Morton , Baoquan He , Borislav Petkov , Claudio Fontana , Denys Vlasenko , Dou Liyang , Gu Zheng , Hidehiro Kawai , Linus Torvalds , Nicolai Stange , "Peter Zijlstra (Intel)" , Thomas Gleixner , Tony Luck , Wanpeng Li , linux-edac@vger.kernel.org, Ingo Molnar , Sasha Levin Subject: [PATCH 4.9 24/72] x86/irq, trace: Add __irq_entry annotation to x86s platform IRQ handlers Date: Sun, 19 Nov 2017 15:38:28 +0100 Message-Id: <20171119143533.372826559@linuxfoundation.org> X-Mailer: git-send-email 2.15.0 In-Reply-To: <20171119143532.376035495@linuxfoundation.org> References: <20171119143532.376035495@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Daniel Bristot de Oliveira [ Upstream commit c4158ff536439619fa342810cc575ae2c809f03f ] This patch adds the __irq_entry annotation to the default x86 platform IRQ handlers. ftrace's function_graph tracer uses the __irq_entry annotation to notify the entry and return of IRQ handlers. For example, before the patch: 354549.667252 | 3) d..1 | default_idle_call() { 354549.667252 | 3) d..1 | arch_cpu_idle() { 354549.667253 | 3) d..1 | default_idle() { 354549.696886 | 3) d..1 | smp_trace_reschedule_interrupt() { 354549.696886 | 3) d..1 | irq_enter() { 354549.696886 | 3) d..1 | rcu_irq_enter() { After the patch: 366416.254476 | 3) d..1 | arch_cpu_idle() { 366416.254476 | 3) d..1 | default_idle() { 366416.261566 | 3) d..1 ==========> | 366416.261566 | 3) d..1 | smp_trace_reschedule_interrupt() { 366416.261566 | 3) d..1 | irq_enter() { 366416.261566 | 3) d..1 | rcu_irq_enter() { KASAN also uses this annotation. The smp_apic_timer_interrupt() was already annotated. Signed-off-by: Daniel Bristot de Oliveira Acked-by: Steven Rostedt (VMware) Cc: Aaron Lu Cc: Andrew Morton Cc: Baoquan He Cc: Borislav Petkov Cc: Claudio Fontana Cc: Denys Vlasenko Cc: Dou Liyang Cc: Gu Zheng Cc: Hidehiro Kawai Cc: Linus Torvalds Cc: Nicolai Stange Cc: Peter Zijlstra (Intel) Cc: Steven Rostedt Cc: Thomas Gleixner Cc: Tony Luck Cc: Wanpeng Li Cc: linux-edac@vger.kernel.org Link: http://lkml.kernel.org/r/059fdf437c2f0c09b13c18c8fe4e69999d3ffe69.1483528431.git.bristot@redhat.com Signed-off-by: Ingo Molnar Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- arch/x86/kernel/apic/apic.c | 8 ++++---- arch/x86/kernel/apic/vector.c | 2 +- arch/x86/kernel/cpu/mcheck/mce_amd.c | 4 ++-- arch/x86/kernel/cpu/mcheck/therm_throt.c | 6 ++++-- arch/x86/kernel/cpu/mcheck/threshold.c | 4 ++-- arch/x86/kernel/irq.c | 4 ++-- arch/x86/kernel/irq_work.c | 5 +++-- arch/x86/kernel/smp.c | 15 +++++++++------ 8 files changed, 27 insertions(+), 21 deletions(-) --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -1863,14 +1863,14 @@ static void __smp_spurious_interrupt(u8 "should never happen.\n", vector, smp_processor_id()); } -__visible void smp_spurious_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_spurious_interrupt(struct pt_regs *regs) { entering_irq(); __smp_spurious_interrupt(~regs->orig_ax); exiting_irq(); } -__visible void smp_trace_spurious_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_trace_spurious_interrupt(struct pt_regs *regs) { u8 vector = ~regs->orig_ax; @@ -1921,14 +1921,14 @@ static void __smp_error_interrupt(struct } -__visible void smp_error_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_error_interrupt(struct pt_regs *regs) { entering_irq(); __smp_error_interrupt(regs); exiting_irq(); } -__visible void smp_trace_error_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_trace_error_interrupt(struct pt_regs *regs) { entering_irq(); trace_error_apic_entry(ERROR_APIC_VECTOR); --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c @@ -559,7 +559,7 @@ void send_cleanup_vector(struct irq_cfg __send_cleanup_vector(data); } -asmlinkage __visible void smp_irq_move_cleanup_interrupt(void) +asmlinkage __visible void __irq_entry smp_irq_move_cleanup_interrupt(void) { unsigned vector, me; --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c @@ -593,14 +593,14 @@ static inline void __smp_deferred_error_ deferred_error_int_vector(); } -asmlinkage __visible void smp_deferred_error_interrupt(void) +asmlinkage __visible void __irq_entry smp_deferred_error_interrupt(void) { entering_irq(); __smp_deferred_error_interrupt(); exiting_ack_irq(); } -asmlinkage __visible void smp_trace_deferred_error_interrupt(void) +asmlinkage __visible void __irq_entry smp_trace_deferred_error_interrupt(void) { entering_irq(); trace_deferred_error_apic_entry(DEFERRED_ERROR_VECTOR); --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -431,14 +431,16 @@ static inline void __smp_thermal_interru smp_thermal_vector(); } -asmlinkage __visible void smp_thermal_interrupt(struct pt_regs *regs) +asmlinkage __visible void __irq_entry +smp_thermal_interrupt(struct pt_regs *regs) { entering_irq(); __smp_thermal_interrupt(); exiting_ack_irq(); } -asmlinkage __visible void smp_trace_thermal_interrupt(struct pt_regs *regs) +asmlinkage __visible void __irq_entry +smp_trace_thermal_interrupt(struct pt_regs *regs) { entering_irq(); trace_thermal_apic_entry(THERMAL_APIC_VECTOR); --- a/arch/x86/kernel/cpu/mcheck/threshold.c +++ b/arch/x86/kernel/cpu/mcheck/threshold.c @@ -24,14 +24,14 @@ static inline void __smp_threshold_inter mce_threshold_vector(); } -asmlinkage __visible void smp_threshold_interrupt(void) +asmlinkage __visible void __irq_entry smp_threshold_interrupt(void) { entering_irq(); __smp_threshold_interrupt(); exiting_ack_irq(); } -asmlinkage __visible void smp_trace_threshold_interrupt(void) +asmlinkage __visible void __irq_entry smp_trace_threshold_interrupt(void) { entering_irq(); trace_threshold_apic_entry(THRESHOLD_APIC_VECTOR); --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c @@ -265,7 +265,7 @@ void __smp_x86_platform_ipi(void) x86_platform_ipi_callback(); } -__visible void smp_x86_platform_ipi(struct pt_regs *regs) +__visible void __irq_entry smp_x86_platform_ipi(struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); @@ -316,7 +316,7 @@ __visible void smp_kvm_posted_intr_wakeu } #endif -__visible void smp_trace_x86_platform_ipi(struct pt_regs *regs) +__visible void __irq_entry smp_trace_x86_platform_ipi(struct pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs(regs); --- a/arch/x86/kernel/irq_work.c +++ b/arch/x86/kernel/irq_work.c @@ -9,6 +9,7 @@ #include #include #include +#include static inline void __smp_irq_work_interrupt(void) { @@ -16,14 +17,14 @@ static inline void __smp_irq_work_interr irq_work_run(); } -__visible void smp_irq_work_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_irq_work_interrupt(struct pt_regs *regs) { ipi_entering_ack_irq(); __smp_irq_work_interrupt(); exiting_irq(); } -__visible void smp_trace_irq_work_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_trace_irq_work_interrupt(struct pt_regs *regs) { ipi_entering_ack_irq(); trace_irq_work_entry(IRQ_WORK_VECTOR); --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -259,7 +259,7 @@ static inline void __smp_reschedule_inte scheduler_ipi(); } -__visible void smp_reschedule_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_reschedule_interrupt(struct pt_regs *regs) { irq_enter(); ack_APIC_irq(); @@ -270,7 +270,7 @@ __visible void smp_reschedule_interrupt( */ } -__visible void smp_trace_reschedule_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_trace_reschedule_interrupt(struct pt_regs *regs) { /* * Need to call irq_enter() before calling the trace point. @@ -294,14 +294,15 @@ static inline void __smp_call_function_i inc_irq_stat(irq_call_count); } -__visible void smp_call_function_interrupt(struct pt_regs *regs) +__visible void __irq_entry smp_call_function_interrupt(struct pt_regs *regs) { ipi_entering_ack_irq(); __smp_call_function_interrupt(); exiting_irq(); } -__visible void smp_trace_call_function_interrupt(struct pt_regs *regs) +__visible void __irq_entry +smp_trace_call_function_interrupt(struct pt_regs *regs) { ipi_entering_ack_irq(); trace_call_function_entry(CALL_FUNCTION_VECTOR); @@ -316,14 +317,16 @@ static inline void __smp_call_function_s inc_irq_stat(irq_call_count); } -__visible void smp_call_function_single_interrupt(struct pt_regs *regs) +__visible void __irq_entry +smp_call_function_single_interrupt(struct pt_regs *regs) { ipi_entering_ack_irq(); __smp_call_function_single_interrupt(); exiting_irq(); } -__visible void smp_trace_call_function_single_interrupt(struct pt_regs *regs) +__visible void __irq_entry +smp_trace_call_function_single_interrupt(struct pt_regs *regs) { ipi_entering_ack_irq(); trace_call_function_single_entry(CALL_FUNCTION_SINGLE_VECTOR);