From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v5 02/11] xen/mce: allow mce_barrier_{enter, exit} to return without waiting Date: Mon, 3 Jul 2017 11:46:17 +0800 Message-ID: <20170703034626.9429-3-haozhong.zhang@intel.com> References: <20170703034626.9429-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170703034626.9429-1-haozhong.zhang@intel.com> 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: Haozhong Zhang , Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org QWRkIGEgJ3dhaXQnIGFyZ3VtZW50IHRvIG1jZV9iYXJyaWVyX3tlbnRlcixleGl0fSgpIHRvIHNw ZWNpZnkgd2hldGhlcgp0aGUgYmFycmllciBmdW5jdGlvbnMgc2hvdWxkIHJldHVybiBpbW1lZGlh dGVseSB3aXRob3V0IHdhaXRpbmcKbWNlX2JhcnJpZXJfe2VudGVyLGV4aXR9KCkgb24gb3RoZXIg Q1BVcy4gVGhpcyBpcyB1c2VmdWwgd2hlbiBoYW5kbGluZwpMTUNFLCB3aGVyZSBtY2VfYmFycmll cl97ZW50ZXIsZXhpdH0gYXJlIGNhbGxlZCBvbmx5IG9uIG9uZSBDUFUuCgpTaWduZWQtb2ZmLWJ5 OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhhbmdAaW50ZWwuY29tPgotLS0KQ2hhbmdlcyBp biB2NToKICogSW52ZXJ0IHBhcmVtZXRlciAibm93YWl0IiB0byAid2FpdCIuCiAqIExldCBjYWxs ZXJzIHBhc3MgaW4gIm1jZV9icm9hZGNhc3QiIGV4cGxpY2l0bHkuCgpDYzogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmMgfCAxMiArKysr KystLS0tLS0KIHhlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2JhcnJpZXIuaCB8IDE0ICsrKysrKysr KysrKy0tCiB4ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2UuYyAgICAgfCAyMCArKysrKysrKysr LS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmMgYi94 ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmMKaW5kZXggNWRjZTFmYjliOS4uN2RlOGU0 NWU4YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svYmFycmllci5jCisrKyBi L3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2JhcnJpZXIuYwpAQCAtMTYsMTEgKzE2LDExIEBAIHZv aWQgbWNlX2JhcnJpZXJfZGVjKHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCiAgICAg YXRvbWljX2RlYygmYmFyLT52YWwpOwogfQogCi12b2lkIG1jZV9iYXJyaWVyX2VudGVyKHN0cnVj dCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCit2b2lkIG1jZV9iYXJyaWVyX2VudGVyKHN0cnVj dCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIsIGJvb2wgd2FpdCkKIHsKICAgICBpbnQgZ2VuOwog Ci0gICAgaWYgKCFtY2VfYnJvYWRjYXN0KQorICAgIGlmICggIXdhaXQgKQogICAgICAgICByZXR1 cm47CiAgICAgYXRvbWljX2luYygmYmFyLT5pbmdlbik7CiAgICAgZ2VuID0gYXRvbWljX3JlYWQo JmJhci0+b3V0Z2VuKTsKQEAgLTM0LDExICszNCwxMSBAQCB2b2lkIG1jZV9iYXJyaWVyX2VudGVy KHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCiAgICAgfQogfQogCi12b2lkIG1jZV9i YXJyaWVyX2V4aXQoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKmJhcikKK3ZvaWQgbWNlX2Jh cnJpZXJfZXhpdChzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqYmFyLCBib29sIHdhaXQpCiB7 CiAgICAgaW50IGdlbjsKIAotICAgIGlmICggIW1jZV9icm9hZGNhc3QgKQorICAgIGlmICggIXdh aXQgKQogICAgICAgICByZXR1cm47CiAgICAgYXRvbWljX2luYygmYmFyLT5vdXRnZW4pOwogICAg IGdlbiA9IGF0b21pY19yZWFkKCZiYXItPmluZ2VuKTsKQEAgLTU0LDYgKzU0LDYgQEAgdm9pZCBt Y2VfYmFycmllcl9leGl0KHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCiAKIHZvaWQg bWNlX2JhcnJpZXIoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKmJhcikKIHsKLSAgICBtY2Vf YmFycmllcl9lbnRlcihiYXIpOwotICAgIG1jZV9iYXJyaWVyX2V4aXQoYmFyKTsKKyAgICBtY2Vf YmFycmllcl9lbnRlcihiYXIsIG1jZV9icm9hZGNhc3QpOworICAgIG1jZV9iYXJyaWVyX2V4aXQo YmFyLCBtY2VfYnJvYWRjYXN0KTsKIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNo ZWNrL2JhcnJpZXIuaCBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2JhcnJpZXIuaAppbmRleCBk M2NjZjhiMTVmLi5jNGQ1MmI2MTkyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L21jaGVj ay9iYXJyaWVyLmgKKysrIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svYmFycmllci5oCkBAIC0z Miw2ICszMiwxNiBAQCB2b2lkIG1jZV9iYXJyaWVyX2luaXQoc3RydWN0IG1jZV9zb2Z0aXJxX2Jh cnJpZXIgKik7CiB2b2lkIG1jZV9iYXJyaWVyX2RlYyhzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmll ciAqKTsKIAogLyoKKyAqIElmIEB3YWl0IGlzIGZhbHNlLCBtY2VfYmFycmllcl9lbnRlci9leGl0 KCkgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkKKyAqIHdpdGhvdXQgdG91Y2hpbmcgdGhlIGJhcnJp ZXIuIEl0J3MgdXNlZCB3aGVuIGhhbmRsaW5nIGEKKyAqIG5vbi1icm9hZGNhc3RpbmcgTUNFIChl LmcuIE1DRSBvbiBzb21lIG9sZCBJbnRlbCBDUFUsIE1DRSBvbiBBTUQKKyAqIENQVSBhbmQgTE1D RSBvbiBJbnRlbCBTa3lsYWtlLXNlcnZlciBDUFUpIHdoaWNoIGlzIHJlY2VpdmVkIG9uIG9ubHkK KyAqIG9uZSBDUFUgYW5kIHRodXMgZG9lcyBub3QgaW52b2tlIG1jZV9iYXJyaWVyX2VudGVyL2V4 aXQoKSBjYWxscyBvbgorICogYWxsIENQVXMuCisgKgorICogSWYgQHdhaXQgaXMgdHJ1ZSwgbWNl X2JhcnJpZXJfZW50ZXIvZXhpdCgpIHdpbGwgaGFuZGxlIHRoZSBnaXZlbgorICogYmFycmllciBh cyBiZWxvdy4KKyAqCiAgKiBJbmNyZW1lbnQgdGhlIGdlbmVyYXRpb24gbnVtYmVyIGFuZCB0aGUg dmFsdWUuIFRoZSBnZW5lcmF0aW9uIG51bWJlcgogICogaXMgaW5jcmVtZW50ZWQgd2hlbiBlbnRl cmluZyBhIGJhcnJpZXIuIFRoaXMgd2F5LCBpdCBjYW4gYmUgY2hlY2tlZAogICogb24gZXhpdCBp ZiBhIENQVSBpcyB0cnlpbmcgdG8gcmUtZW50ZXIgdGhlIGJhcnJpZXIuIFRoaXMgY2FuIGhhcHBl bgpAQCAtNDMsOCArNTMsOCBAQCB2b2lkIG1jZV9iYXJyaWVyX2RlYyhzdHJ1Y3QgbWNlX3NvZnRp cnFfYmFycmllciAqKTsKICAqIFRoZXNlIGJhcnJpZXIgZnVuY3Rpb25zIHNob3VsZCBhbHdheXMg YmUgcGFpcmVkLCBzbyB0aGF0IHRoZQogICogY291bnRlciB2YWx1ZSB3aWxsIHJlYWNoIDAgYWdh aW4gYWZ0ZXIgYWxsIENQVXMgaGF2ZSBleGl0ZWQuCiAgKi8KLXZvaWQgbWNlX2JhcnJpZXJfZW50 ZXIoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKik7Ci12b2lkIG1jZV9iYXJyaWVyX2V4aXQo c3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKik7Cit2b2lkIG1jZV9iYXJyaWVyX2VudGVyKHN0 cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICosIGJvb2wgd2FpdCk7Cit2b2lkIG1jZV9iYXJyaWVy X2V4aXQoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKiwgYm9vbCB3YWl0KTsKIAogdm9pZCBt Y2VfYmFycmllcihzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqKTsKIApkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmMgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9t Y2UuYwppbmRleCA1NGZkMDAwYWEwLi5kMjQ3ZDZlMTk4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvY3B1L21jaGVjay9tY2UuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2UuYwpA QCAtNDk3LDE1ICs0OTcsMTUgQEAgdm9pZCBtY2hlY2tfY21uX2hhbmRsZXIoY29uc3Qgc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgfQogICAgIG1jZV9zcGluX3VubG9jaygmbWNlX2xv Z291dF9sb2NrKTsKIAotICAgIG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfdHJhcF9iYXIpOworICAg IG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfdHJhcF9iYXIsIG1jZV9icm9hZGNhc3QpOwogICAgIGlm ICggbWN0YyAhPSBOVUxMICYmIG1jZV91cmdlbnRfYWN0aW9uKHJlZ3MsIG1jdGMpKQogICAgICAg ICBjcHVtYXNrX3NldF9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpLCAmbWNlX2ZhdGFsX2NwdXMpOwot ICAgIG1jZV9iYXJyaWVyX2V4aXQoJm1jZV90cmFwX2Jhcik7CisgICAgbWNlX2JhcnJpZXJfZXhp dCgmbWNlX3RyYXBfYmFyLCBtY2VfYnJvYWRjYXN0KTsKIAogICAgIC8qCiAgICAgICogV2FpdCB1 bnRpbCBldmVyeWJvZHkgaGFzIHByb2Nlc3NlZCB0aGUgdHJhcC4KICAgICAgKi8KLSAgICBtY2Vf YmFycmllcl9lbnRlcigmbWNlX3RyYXBfYmFyKTsKKyAgICBtY2VfYmFycmllcl9lbnRlcigmbWNl X3RyYXBfYmFyLCBtY2VfYnJvYWRjYXN0KTsKICAgICBpZiAoYXRvbWljX3JlYWQoJnNldmVyaXR5 X2NwdSkgPT0gc21wX3Byb2Nlc3Nvcl9pZCgpKQogICAgIHsKICAgICAgICAgLyogQWNjb3JkaW5n IHRvIFNETSwgaWYgbm8gZXJyb3IgYmFuayBmb3VuZCBvbiBhbnkgY3B1cywKQEAgLTUyNCwxNiAr NTI0LDE2IEBAIHZvaWQgbWNoZWNrX2Ntbl9oYW5kbGVyKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9y ZWdzICpyZWdzKQogICAgICAgICBhdG9taWNfc2V0KCZmb3VuZF9lcnJvciwgMCk7CiAgICAgICAg IGF0b21pY19zZXQoJnNldmVyaXR5X2NwdSwgLTEpOwogICAgIH0KLSAgICBtY2VfYmFycmllcl9l eGl0KCZtY2VfdHJhcF9iYXIpOworICAgIG1jZV9iYXJyaWVyX2V4aXQoJm1jZV90cmFwX2Jhciwg bWNlX2Jyb2FkY2FzdCk7CiAKICAgICAvKiBDbGVhciBmbGFncyBhZnRlciBhYm92ZSBmYXRhbCBj aGVjayAqLwotICAgIG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfdHJhcF9iYXIpOworICAgIG1jZV9i YXJyaWVyX2VudGVyKCZtY2VfdHJhcF9iYXIsIG1jZV9icm9hZGNhc3QpOwogICAgIGdzdGF0dXMg PSBtY2FfcmRtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUyk7CiAgICAgaWYgKChnc3RhdHVzICYgTUNH X1NUQVRVU19NQ0lQKSAhPSAwKSB7CiAgICAgICAgIG1jZV9wcmludGsoTUNFX0NSSVRJQ0FMLCAi TUNFOiBDbGVhciBNQ0lQQCBsYXN0IHN0ZXAiKTsKICAgICAgICAgbWNhX3dybXNyKE1TUl9JQTMy X01DR19TVEFUVVMsIDApOwogICAgIH0KLSAgICBtY2VfYmFycmllcl9leGl0KCZtY2VfdHJhcF9i YXIpOworICAgIG1jZV9iYXJyaWVyX2V4aXQoJm1jZV90cmFwX2JhciwgbWNlX2Jyb2FkY2FzdCk7 CiAKICAgICByYWlzZV9zb2Z0aXJxKE1BQ0hJTkVfQ0hFQ0tfU09GVElSUSk7CiB9CkBAIC0xNzAz LDcgKzE3MDMsNyBAQCBzdGF0aWMgdm9pZCBtY2Vfc29mdGlycSh2b2lkKQogCiAgICAgbWNlX3By aW50ayhNQ0VfVkVSQk9TRSwgIkNQVSVkIGVudGVyIHNvZnRpcnFcbiIsIGNwdSk7CiAKLSAgICBt Y2VfYmFycmllcl9lbnRlcigmbWNlX2luc2lkZV9iYXIpOworICAgIG1jZV9iYXJyaWVyX2VudGVy KCZtY2VfaW5zaWRlX2JhciwgbWNlX2Jyb2FkY2FzdCk7CiAKICAgICAvKgogICAgICAqIEV2ZXJ5 Ym9keSBpcyBoZXJlLiBOb3cgbGV0J3Mgc2VlIHdobyBnZXRzIHRvIGRvIHRoZQpAQCAtMTcxNiwx MCArMTcxNiwxMCBAQCBzdGF0aWMgdm9pZCBtY2Vfc29mdGlycSh2b2lkKQogCiAgICAgYXRvbWlj X3NldCgmc2V2ZXJpdHlfY3B1LCBjcHUpOwogCi0gICAgbWNlX2JhcnJpZXJfZW50ZXIoJm1jZV9z ZXZlcml0eV9iYXIpOworICAgIG1jZV9iYXJyaWVyX2VudGVyKCZtY2Vfc2V2ZXJpdHlfYmFyLCBt Y2VfYnJvYWRjYXN0KTsKICAgICBpZiAoIW1jdGVsZW1faGFzX2RlZmVycmVkKGNwdSkpCiAgICAg ICAgIGF0b21pY19zZXQoJnNldmVyaXR5X2NwdSwgY3B1KTsKLSAgICBtY2VfYmFycmllcl9leGl0 KCZtY2Vfc2V2ZXJpdHlfYmFyKTsKKyAgICBtY2VfYmFycmllcl9leGl0KCZtY2Vfc2V2ZXJpdHlf YmFyLCBtY2VfYnJvYWRjYXN0KTsKIAogICAgIC8qIFdlIGNob29zZSBzZXZlcml0eV9jcHUgZm9y IGZ1cnRoZXIgcHJvY2Vzc2luZyAqLwogICAgIGlmIChhdG9taWNfcmVhZCgmc2V2ZXJpdHlfY3B1 KSA9PSBjcHUpIHsKQEAgLTE3NDAsNyArMTc0MCw3IEBAIHN0YXRpYyB2b2lkIG1jZV9zb2Z0aXJx KHZvaWQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtY2VfYmFycmllcl9leGl0KCZtY2VfaW5z aWRlX2Jhcik7CisgICAgbWNlX2JhcnJpZXJfZXhpdCgmbWNlX2luc2lkZV9iYXIsIG1jZV9icm9h ZGNhc3QpOwogfQogCiAvKiBNYWNoaW5lIENoZWNrIG93bmVyIGp1ZGdlIGFsZ29yaXRobToKLS0g CjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=