From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH RFC v2 10/12] x86: allocate per-vcpu stacks for interrupt entries Date: Mon, 22 Jan 2018 13:32:54 +0100 Message-ID: <20180122123256.1431-11-jgross@suse.com> References: <20180122123256.1431-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1edbJf-0000mD-R9 for xen-devel@lists.xenproject.org; Mon, 22 Jan 2018 12:35:11 +0000 In-Reply-To: <20180122123256.1431-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org SW4gY2FzZSBvZiBYUFRJIGJlaW5nIGFjdGl2ZSBmb3IgYSBwdi1kb21haW4gYWxsb2NhdGUgYW5k IGluaXRpYWxpemUKcGVyLXZjcHUgc3RhY2tzLiBUaGUgc3RhY2tzIGFyZSBhZGRlZCB0byB0aGUg cGVyLWRvbWFpbiBtYXBwaW5ncyBvZgp0aGUgcHYtZG9tYWluLgoKU2lnbmVkLW9mZi1ieTogSnVl cmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wdi9kb21haW4u YyAgICAgIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog eGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaCAgfCAxMyArKysrKysrLQogeGVuL2luY2x1ZGUv YXNtLXg4Ni9jdXJyZW50LmggfCAzOSArKysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9kb21haW4uaCAgfCAgMyArKwogNCBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZG9t YWluLmMgYi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKaW5kZXggN2Q1MGY5YmMxOS4uODM0YmU5 NmVkOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNo L3g4Ni9wdi9kb21haW4uYwpAQCAtMTU2LDYgKzE1Niw3NSBAQCB2b2lkIHB2X3ZjcHVfZGVzdHJv eShzdHJ1Y3QgdmNwdSAqdikKICAgICBwdl9kZXN0cm95X2dkdF9sZHRfbDF0YWIodik7CiAgICAg eGZyZWUodi0+YXJjaC5wdl92Y3B1LnRyYXBfY3R4dCk7CiAgICAgdi0+YXJjaC5wdl92Y3B1LnRy YXBfY3R4dCA9IE5VTEw7CisKKyAgICBpZiAoIHYtPmRvbWFpbi0+YXJjaC5wdl9kb21haW4ueHB0 aSApCisgICAgeworICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZSh2LT5hcmNoLnB2X3ZjcHUuc3Rh Y2tfcmVncyk7CisgICAgICAgIHYtPmFyY2gucHZfdmNwdS5zdGFja19yZWdzID0gTlVMTDsKKyAg ICAgICAgZGVzdHJveV9wZXJkb21haW5fbWFwcGluZyh2LT5kb21haW4sIFhQVElfU1RBUlQodiks IFNUQUNLX1BBR0VTKTsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQgcHZfdmNwdV9pbml0X3hwdGko c3RydWN0IHZjcHUgKnYpCit7CisgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKKyAg ICBzdHJ1Y3QgcGFnZV9pbmZvICpwZzsKKyAgICB2b2lkICpwdHI7CisgICAgc3RydWN0IGNwdV9p bmZvICppbmZvOworICAgIHVuc2lnbmVkIGxvbmcgc3RhY2tfYm90dG9tOworICAgIGludCByYzsK KworICAgIC8qIFBvcHVsYXRlIHBhZ2UgdGFibGVzLiAqLworICAgIHJjID0gY3JlYXRlX3BlcmRv bWFpbl9tYXBwaW5nKGQsIFhQVElfU1RBUlQodiksIFNUQUNLX1BBR0VTLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5JTChsMV9wZ2VudHJ5X3QgKiksIE5VTEwpOworICAgIGlm ICggcmMgKQorICAgICAgICBnb3RvIGRvbmU7CisKKyAgICAvKiBNYXAgc3RhY2tzLiAqLworICAg IHJjID0gY3JlYXRlX3BlcmRvbWFpbl9tYXBwaW5nKGQsIFhQVElfU1RBUlQodiksIElTVF9NQVgs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTklMKHN0cnVjdCBwYWdl X2luZm8gKikpOworICAgIGlmICggcmMgKQorICAgICAgICBnb3RvIGRvbmU7CisKKyAgICBwdHIg PSBhbGxvY194ZW5oZWFwX3BhZ2UoKTsKKyAgICBpZiAoICFwdHIgKQorICAgIHsKKyAgICAgICAg cmMgPSAtRU5PTUVNOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorICAgIGNsZWFyX3BhZ2Uo cHRyKTsKKyAgICBhZGRtZm5fdG9fcGVyZG9tYWluX21hcHBpbmcoZCwgWFBUSV9TVEFSVCh2KSAr IFNUQUNLX1NJWkUgLSBQQUdFX1NJWkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9tZm4odmlydF90b19tZm4ocHRyKSkpOworICAgIGluZm8gPSAoc3RydWN0IGNwdV9pbmZvICop KCh1bnNpZ25lZCBsb25nKXB0ciArIFBBR0VfU0laRSkgLSAxOworICAgIGluZm8tPmZsYWdzID0g T05fVkNQVVNUQUNLOworICAgIHYtPmFyY2gucHZfdmNwdS5zdGFja19yZWdzID0gJmluZm8tPmd1 ZXN0X2NwdV91c2VyX3JlZ3M7CisKKyAgICAvKiBNYXAgVFNTLiAqLworICAgIHJjID0gY3JlYXRl X3BlcmRvbWFpbl9tYXBwaW5nKGQsIFhQVElfVFNTKHYpLCAxLCBOVUxMLCAmcGcpOworICAgIGlm ICggcmMgKQorICAgICAgICBnb3RvIGRvbmU7CisgICAgaW5mbyA9IChzdHJ1Y3QgY3B1X2luZm8g KikoWFBUSV9TVEFSVCh2KSArIFNUQUNLX1NJWkUpIC0gMTsKKyAgICBzdGFja19ib3R0b20gPSAo dW5zaWduZWQgbG9uZykmaW5mby0+Z3Vlc3RfY3B1X3VzZXJfcmVncy5lczsKKyAgICBwdHIgPSBf X21hcF9kb21haW5fcGFnZShwZyk7CisgICAgdHNzX2luaXQocHRyLCBzdGFja19ib3R0b20pOwor ICAgIHVubWFwX2RvbWFpbl9wYWdlKHB0cik7CisKKyAgICAvKiBNYXAgc3R1YiB0cmFtcG9saW5l cy4gKi8KKyAgICByYyA9IGNyZWF0ZV9wZXJkb21haW5fbWFwcGluZyhkLCBYUFRJX1RSQU1QT0xJ TkUodiksIDEsIE5VTEwsICZwZyk7CisgICAgaWYgKCByYyApCisgICAgICAgIGdvdG8gZG9uZTsK KyAgICBwdHIgPSBfX21hcF9kb21haW5fcGFnZShwZyk7CisgICAgd3JpdGVfc3R1Yl90cmFtcG9s aW5lKCh1bnNpZ25lZCBjaGFyICopcHRyLCBYUFRJX1RSQU1QT0xJTkUodiksCisgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0YWNrX2JvdHRvbSwgKHVuc2lnbmVkIGxvbmcpbHN0YXJfZW50ZXIp OworICAgIHdyaXRlX3N0dWJfdHJhbXBvbGluZSgodW5zaWduZWQgY2hhciAqKXB0ciArIFNUVUJf VFJBTVBPTElORV9TSVpFX1BFUlZDUFUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFhQVElf VFJBTVBPTElORSh2KSArIFNUVUJfVFJBTVBPTElORV9TSVpFX1BFUlZDUFUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0YWNrX2JvdHRvbSwgKHVuc2lnbmVkIGxvbmcpY3N0YXJfZW50ZXIp OworICAgIHVubWFwX2RvbWFpbl9wYWdlKHB0cik7CisgICAgZmxpcGZsYWdzX3BlcmRvbWFpbl9t YXBwaW5nKGQsIFhQVElfVFJBTVBPTElORSh2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgX1BBR0VfTlggfCBfUEFHRV9SVyB8IF9QQUdFX0RJUlRZKTsKKworIGRvbmU6CisgICAg cmV0dXJuIHJjOwogfQogCiBpbnQgcHZfdmNwdV9pbml0aWFsaXNlKHN0cnVjdCB2Y3B1ICp2KQpA QCAtMTk1LDYgKzI2NCw5IEBAIGludCBwdl92Y3B1X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYp CiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgfQogCisgICAgaWYgKCBkLT5hcmNoLnB2X2Rv bWFpbi54cHRpICkKKyAgICAgICAgcmMgPSBwdl92Y3B1X2luaXRfeHB0aSh2KTsKKwogIGRvbmU6 CiAgICAgaWYgKCByYyApCiAgICAgICAgIHB2X3ZjcHVfZGVzdHJveSh2KTsKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZp Zy5oCmluZGV4IDllZjlkMDNjYTcuLmNiMTA3MjU1YWYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L2FzbS14ODYvY29uZmlnLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAt NjYsNiArNjYsNyBAQAogI2VuZGlmCiAKICNkZWZpbmUgU1RBQ0tfT1JERVIgMworI2RlZmluZSBT VEFDS19QQUdFUyAoMSA8PCBTVEFDS19PUkRFUikKICNkZWZpbmUgU1RBQ0tfU0laRSAgKFBBR0Vf U0laRSA8PCBTVEFDS19PUkRFUikKIAogI2RlZmluZSBUUkFNUE9MSU5FX1NUQUNLX1NQQUNFICBQ QUdFX1NJWkUKQEAgLTIwMiw3ICsyMDMsNyBAQCBleHRlcm4gdW5zaWduZWQgY2hhciBib290X2Vk aWRfaW5mb1sxMjhdOwogLyogU2xvdCAyNjA6IHBlci1kb21haW4gbWFwcGluZ3MgKGluY2x1ZGlu ZyBtYXAgY2FjaGUpLiAqLwogI2RlZmluZSBQRVJET01BSU5fVklSVF9TVEFSVCAgICAoUE1MNF9B RERSKDI2MCkpCiAjZGVmaW5lIFBFUkRPTUFJTl9TTE9UX01CWVRFUyAgIChQTUw0X0VOVFJZX0JZ VEVTID4+ICgyMCArIFBBR0VUQUJMRV9PUkRFUikpCi0jZGVmaW5lIFBFUkRPTUFJTl9TTE9UUyAg ICAgICAgIDMKKyNkZWZpbmUgUEVSRE9NQUlOX1NMT1RTICAgICAgICAgNAogI2RlZmluZSBQRVJE T01BSU5fVklSVF9TTE9UKHMpICAoUEVSRE9NQUlOX1ZJUlRfU1RBUlQgKyAocykgKiBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSRE9NQUlOX1NMT1RfTUJZVEVTIDw8IDIw KSkKIC8qIFNsb3QgMjYxOiBtYWNoaW5lLXRvLXBoeXMgY29udmVyc2lvbiB0YWJsZSAoMjU2R0Ip LiAqLwpAQCAtMzEwLDYgKzMxMSwxNiBAQCBleHRlcm4gdW5zaWduZWQgbG9uZyB4ZW5fcGh5c19z dGFydDsKICNkZWZpbmUgQVJHX1hMQVRfU1RBUlQodikgICAgICAgIFwKICAgICAoQVJHX1hMQVRf VklSVF9TVEFSVCArICgodiktPnZjcHVfaWQgPDwgQVJHX1hMQVRfVkFfU0hJRlQpKQogCisvKiBQ ZXItdmNwdSBYUFRJIHBhZ2VzLiBUaGUgZm91cnRoIHBlci1kb21haW4tbWFwcGluZyBzdWItYXJl YS4gKi8KKyNkZWZpbmUgWFBUSV9WSVJUX1NUQVJUICAgICAgICAgIFBFUkRPTUFJTl9WSVJUX1NM T1QoMykKKyNkZWZpbmUgWFBUSV9WQV9TSElGVCAgICAgICAgICAgIChQQUdFX1NISUZUICsgU1RB Q0tfT1JERVIpCisjZGVmaW5lIFhQVElfVFJBTVBPTElORV9PRkYgICAgICAoSVNUX01BWCA8PCBQ QUdFX1NISUZUKQorI2RlZmluZSBYUFRJX1RTU19PRkYgICAgICAgICAgICAgKChJU1RfTUFYICsg MikgPDwgUEFHRV9TSElGVCkKKyNkZWZpbmUgWFBUSV9TVEFSVCh2KSAgICAgICAgICAgIChYUFRJ X1ZJUlRfU1RBUlQgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2KS0+ dmNwdV9pZCA8PCBYUFRJX1ZBX1NISUZUKSkKKyNkZWZpbmUgWFBUSV9UUkFNUE9MSU5FKHYpICAg ICAgIChYUFRJX1NUQVJUKHYpICsgWFBUSV9UUkFNUE9MSU5FX09GRikKKyNkZWZpbmUgWFBUSV9U U1ModikgICAgICAgICAgICAgIChYUFRJX1NUQVJUKHYpICsgWFBUSV9UU1NfT0ZGKQorCiAjZGVm aW5lIE5BVElWRV9WTV9BU1NJU1RfVkFMSUQgICAoKDFVTCA8PCBWTUFTU1RfVFlQRV80Z2Jfc2Vn bWVudHMpICAgICAgICB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMVVM IDw8IFZNQVNTVF9UWVBFXzRnYl9zZWdtZW50c19ub3RpZnkpIHwgXAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgxVUwgPDwgVk1BU1NUX1RZUEVfd3JpdGFibGVfcGFnZXRhYmxl cykgfCBcCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvY3VycmVudC5oCmluZGV4IGM3YWNiYjk3ZGEuLjZhZTA5MzFhNTkgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvY3VycmVudC5oCkBAIC0xMiw3ICsxMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BhZ2Uu aD4KIAogLyoKLSAqIFhlbidzIGNwdSBzdGFja3MgYXJlIDggcGFnZXMgKDgtcGFnZSBhbGlnbmVk KSwgYXJyYW5nZWQgYXM6CisgKiBYZW4ncyBwaHlzaWNhbCBjcHUgc3RhY2tzIGFyZSA4IHBhZ2Vz ICg4LXBhZ2UgYWxpZ25lZCksIGFycmFuZ2VkIGFzOgogICoKICAqIDcgLSBQcmltYXJ5IHN0YWNr ICh3aXRoIGEgc3RydWN0IGNwdV9pbmZvIGF0IHRoZSB0b3ApCiAgKiA2IC0gUHJpbWFyeSBzdGFj awpAQCAtMjUsNiArMjUsMjEgQEAKICAqLwogCiAvKgorICogVGhlIHZjcHUgc3RhY2tzIHVzZWQg Zm9yIFhQVEkgYXJlIGFycmFuZ2VkIHNpbWlsYXIgdG8gdGhlIHBoeXNpY2FsIGNwdQorICogc3Rh Y2tzIHdpdGggc29tZSBtb2RpZmljYXRpb25zLiBUaGUgbWFpbiBkaWZmZXJlbmNlIGFyZSB0aGUg cHJpbWFyeSBzdGFjaworICogc2l6ZSAob25seSAxIHBhZ2UpIGFuZCB1c2FnZSBvZiB0aGUgdW51 c2VkIG1hcHBpbmdzIGZvciBUU1MgYW5kIElEVC4KKyAqCisgKiA3IC0gUHJpbWFyeSBzdGFjayAo d2l0aCBhIHN0cnVjdCBjcHVfaW5mbyBhdCB0aGUgdG9wKQorICogNiAtIHVudXNlZAorICogNSAt IFRTUworICogNCAtIHVudXNlZAorICogMyAtIFN5c2NhbGwgdHJhbXBvbGluZXMKKyAqIDIgLSBN Q0UgSVNUIHN0YWNrCisgKiAxIC0gTk1JIElTVCBzdGFjaworICogMCAtIERvdWJsZSBGYXVsdCBJ U1Qgc3RhY2sKKyAqLworCisvKgogICogSWRlbnRpZnkgd2hpY2ggc3RhY2sgcGFnZSB0aGUgc3Rh Y2sgcG9pbnRlciBpcyBvbi4gIFJldHVybnMgYW4gaW5kZXgKICAqIGFzIHBlciB0aGUgY29tbWVu dCBhYm92ZS4KICAqLwpAQCAtMzcsMTAgKzUyLDI0IEBAIHN0cnVjdCB2Y3B1OwogCiBzdHJ1Y3Qg Y3B1X2luZm8gewogICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdzIGd1ZXN0X2NwdV91c2VyX3JlZ3M7 Ci0gICAgdW5zaWduZWQgaW50IHByb2Nlc3Nvcl9pZDsKLSAgICBzdHJ1Y3QgdmNwdSAqY3VycmVu dF92Y3B1OwotICAgIHVuc2lnbmVkIGxvbmcgcGVyX2NwdV9vZmZzZXQ7Ci0gICAgdW5zaWduZWQg bG9uZyBjcjQ7CisgICAgdW5pb24geworICAgICAgICAvKiBwZXIgcGh5c2ljYWwgY3B1IG1hcHBp bmcgKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHN0cnVjdCB2Y3B1ICpjdXJyZW50 X3ZjcHU7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBlcl9jcHVfb2Zmc2V0OworICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBjcjQ7CisgICAgICAgIH07CisgICAgICAgIC8qIHBlciB2Y3B1 IG1hcHBpbmcgKHhwdGkpICovCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1bnNpZ25l ZCBsb25nIHBhZDE7CisgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBhZDI7CisgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIHN0YWNrX2JvdHRvbV9jcHU7CisgICAgICAgIH07CisgICAgfTsKKyAg ICB1bnNpZ25lZCBpbnQgcHJvY2Vzc29yX2lkOyAgLyogcGVyIHBoeXNpY2FsIGNwdSBtYXBwaW5n IG9ubHkgKi8KKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7CisjZGVmaW5lIE9OX1ZDUFVTVEFDSyAg ICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgVkNQVVNUQUNLX0FDVElWRSAgMHgwMDAwMDAwMgogICAg IC8qIGdldF9zdGFja19ib3R0b20oKSBtdXN0IGJlIDE2LWJ5dGUgYWxpZ25lZCAqLwogfTsKIApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvZG9tYWluLmgKaW5kZXggZjEyMzBhYzYyMS4uNWViNjdmNGY0YyAxMDA2NDQKLS0tIGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2Rv bWFpbi5oCkBAIC01MDMsNiArNTAzLDkgQEAgc3RydWN0IHB2X3ZjcHUKICAgICAvKiBEZWZlcnJl ZCBWQS1iYXNlZCB1cGRhdGUgc3RhdGUuICovCiAgICAgYm9vbF90IG5lZWRfdXBkYXRlX3J1bnN0 YXRlX2FyZWE7CiAgICAgc3RydWN0IHZjcHVfdGltZV9pbmZvIHBlbmRpbmdfc3lzdGVtX3RpbWU7 CisKKyAgICAvKiBJZiBYUFRJIGlzIGFjdGl2ZTogcG9pbnRlciB0byB1c2VyIHJlZ3Mgb24gc3Rh Y2suICovCisgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnN0YWNrX3JlZ3M7CiB9OwogCiB0eXBl ZGVmIGVudW0gX19wYWNrZWQgewotLSAKMi4xMy42CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==