From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [PATCH v4 02/11] xen/mce: allow mce_barrier_{enter, exit} to return without waiting Date: Mon, 26 Jun 2017 17:16:16 +0800 Message-ID: <20170626091625.19655-3-haozhong.zhang@intel.com> References: <20170626091625.19655-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: <20170626091625.19655-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 QWRkIGEgJ25vd2FpdCcgYXJndW1lbnQgdG8gbWNlX2JhcnJpZXJfe2VudGVyLGV4aXR9KCkgdG8g YWxsb3cgdGhlbQpyZXR1cm4gaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nIG1jZV9iYXJyaWVy X3tlbnRlcixleGl0fSgpIG9uIG90aGVyCkNQVXMuIFRoaXMgaXMgdXNlZnVsIHdoZW4gaGFuZGxp bmcgTE1DRSwgd2hlcmUgbWNlX2JhcnJpZXJfe2VudGVyLGV4aXR9CmFyZSBjYWxsZWQgb25seSBv biBvbmUgQ1BVLgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5n QGludGVsLmNvbT4KLS0tCkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBB bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4 Ni9jcHUvbWNoZWNrL2JhcnJpZXIuYyB8IDEyICsrKysrKy0tLS0tLQogeGVuL2FyY2gveDg2L2Nw dS9tY2hlY2svYmFycmllci5oIHwgMTIgKysrKysrKysrKy0tCiB4ZW4vYXJjaC94ODYvY3B1L21j aGVjay9tY2UuYyAgICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2Vk LCAyNiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmMgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJy aWVyLmMKaW5kZXggNWRjZTFmYjliOS4uMGIzYjA5MTAzZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2NwdS9tY2hlY2svYmFycmllci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2Jh cnJpZXIuYwpAQCAtMTYsMTEgKzE2LDExIEBAIHZvaWQgbWNlX2JhcnJpZXJfZGVjKHN0cnVjdCBt Y2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCiAgICAgYXRvbWljX2RlYygmYmFyLT52YWwpOwogfQog Ci12b2lkIG1jZV9iYXJyaWVyX2VudGVyKHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIp Cit2b2lkIG1jZV9iYXJyaWVyX2VudGVyKHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIs IGJvb2wgbm93YWl0KQogewogICAgIGludCBnZW47CiAKLSAgICBpZiAoIW1jZV9icm9hZGNhc3Qp CisgICAgaWYgKCAhbWNlX2Jyb2FkY2FzdCB8fCBub3dhaXQgKQogICAgICAgICByZXR1cm47CiAg ICAgYXRvbWljX2luYygmYmFyLT5pbmdlbik7CiAgICAgZ2VuID0gYXRvbWljX3JlYWQoJmJhci0+ b3V0Z2VuKTsKQEAgLTM0LDExICszNCwxMSBAQCB2b2lkIG1jZV9iYXJyaWVyX2VudGVyKHN0cnVj dCBtY2Vfc29mdGlycV9iYXJyaWVyICpiYXIpCiAgICAgfQogfQogCi12b2lkIG1jZV9iYXJyaWVy X2V4aXQoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKmJhcikKK3ZvaWQgbWNlX2JhcnJpZXJf ZXhpdChzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqYmFyLCBib29sIG5vd2FpdCkKIHsKICAg ICBpbnQgZ2VuOwogCi0gICAgaWYgKCAhbWNlX2Jyb2FkY2FzdCApCisgICAgaWYgKCAhbWNlX2Jy b2FkY2FzdCB8fCBub3dhaXQgKQogICAgICAgICByZXR1cm47CiAgICAgYXRvbWljX2luYygmYmFy LT5vdXRnZW4pOwogICAgIGdlbiA9IGF0b21pY19yZWFkKCZiYXItPmluZ2VuKTsKQEAgLTU0LDYg KzU0LDYgQEAgdm9pZCBtY2VfYmFycmllcl9leGl0KHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVy ICpiYXIpCiAKIHZvaWQgbWNlX2JhcnJpZXIoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKmJh cikKIHsKLSAgICBtY2VfYmFycmllcl9lbnRlcihiYXIpOwotICAgIG1jZV9iYXJyaWVyX2V4aXQo YmFyKTsKKyAgICBtY2VfYmFycmllcl9lbnRlcihiYXIsIGZhbHNlKTsKKyAgICBtY2VfYmFycmll cl9leGl0KGJhciwgZmFsc2UpOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hl Y2svYmFycmllci5oIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svYmFycmllci5oCmluZGV4IGQz Y2NmOGIxNWYuLmY2YjQzNzA5NDUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNr L2JhcnJpZXIuaAorKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmgKQEAgLTMy LDYgKzMyLDE0IEBAIHZvaWQgbWNlX2JhcnJpZXJfaW5pdChzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFy cmllciAqKTsKIHZvaWQgbWNlX2JhcnJpZXJfZGVjKHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVy ICopOwogCiAvKgorICogSWYgbm93YWl0IGlzIHRydWUsIG1jZV9iYXJyaWVyX2VudGVyL2V4aXQo KSB3aWxsIHJldHVybiBpbW1lZGlhdGVseQorICogd2l0aG91dCB0b3VjaGluZyB0aGUgYmFycmll ci4gSXQncyB1c2VkIHdoZW4gaGFuZGxpbmcgYSBMTUNFIHdoaWNoCisgKiBpcyByZWNlaXZlZCBv biBvbmx5IG9uZSBDUFUgYW5kIHRodXMgZG9lcyBub3QgaW52b2tlCisgKiBtY2VfYmFycmllcl9l bnRlci9leGl0KCkgY2FsbHMgb24gYWxsIENQVXMuCisgKgorICogSWYgbm93YWl0IGlzIGZhbHNl LCBtY2VfYmFycmllcl9lbnRlci9leGl0KCkgd2lsbCBoYW5kbGUgdGhlIGdpdmVuCisgKiBiYXJy aWVyIGFzIGJlbG93LgorICoKICAqIEluY3JlbWVudCB0aGUgZ2VuZXJhdGlvbiBudW1iZXIgYW5k IHRoZSB2YWx1ZS4gVGhlIGdlbmVyYXRpb24gbnVtYmVyCiAgKiBpcyBpbmNyZW1lbnRlZCB3aGVu IGVudGVyaW5nIGEgYmFycmllci4gVGhpcyB3YXksIGl0IGNhbiBiZSBjaGVja2VkCiAgKiBvbiBl eGl0IGlmIGEgQ1BVIGlzIHRyeWluZyB0byByZS1lbnRlciB0aGUgYmFycmllci4gVGhpcyBjYW4g aGFwcGVuCkBAIC00Myw4ICs1MSw4IEBAIHZvaWQgbWNlX2JhcnJpZXJfZGVjKHN0cnVjdCBtY2Vf c29mdGlycV9iYXJyaWVyICopOwogICogVGhlc2UgYmFycmllciBmdW5jdGlvbnMgc2hvdWxkIGFs d2F5cyBiZSBwYWlyZWQsIHNvIHRoYXQgdGhlCiAgKiBjb3VudGVyIHZhbHVlIHdpbGwgcmVhY2gg MCBhZ2FpbiBhZnRlciBhbGwgQ1BVcyBoYXZlIGV4aXRlZC4KICAqLwotdm9pZCBtY2VfYmFycmll cl9lbnRlcihzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqKTsKLXZvaWQgbWNlX2JhcnJpZXJf ZXhpdChzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqKTsKK3ZvaWQgbWNlX2JhcnJpZXJfZW50 ZXIoc3RydWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKiwgYm9vbCBub3dhaXQpOwordm9pZCBtY2Vf YmFycmllcl9leGl0KHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVyICosIGJvb2wgbm93YWl0KTsK IAogdm9pZCBtY2VfYmFycmllcihzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAqKTsKIApkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlLmMgYi94ZW4vYXJjaC94ODYvY3B1 L21jaGVjay9tY2UuYwppbmRleCA1NGZkMDAwYWEwLi4xZTBiMDNjMzhiIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY2UuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVj ay9tY2UuYwpAQCAtNDk3LDE1ICs0OTcsMTUgQEAgdm9pZCBtY2hlY2tfY21uX2hhbmRsZXIoY29u c3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgfQogICAgIG1jZV9zcGluX3VubG9j aygmbWNlX2xvZ291dF9sb2NrKTsKIAotICAgIG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfdHJhcF9i YXIpOworICAgIG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfdHJhcF9iYXIsIGZhbHNlKTsKICAgICBp ZiAoIG1jdGMgIT0gTlVMTCAmJiBtY2VfdXJnZW50X2FjdGlvbihyZWdzLCBtY3RjKSkKICAgICAg ICAgY3B1bWFza19zZXRfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSwgJm1jZV9mYXRhbF9jcHVzKTsK LSAgICBtY2VfYmFycmllcl9leGl0KCZtY2VfdHJhcF9iYXIpOworICAgIG1jZV9iYXJyaWVyX2V4 aXQoJm1jZV90cmFwX2JhciwgZmFsc2UpOwogCiAgICAgLyoKICAgICAgKiBXYWl0IHVudGlsIGV2 ZXJ5Ym9keSBoYXMgcHJvY2Vzc2VkIHRoZSB0cmFwLgogICAgICAqLwotICAgIG1jZV9iYXJyaWVy X2VudGVyKCZtY2VfdHJhcF9iYXIpOworICAgIG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfdHJhcF9i YXIsIGZhbHNlKTsKICAgICBpZiAoYXRvbWljX3JlYWQoJnNldmVyaXR5X2NwdSkgPT0gc21wX3By b2Nlc3Nvcl9pZCgpKQogICAgIHsKICAgICAgICAgLyogQWNjb3JkaW5nIHRvIFNETSwgaWYgbm8g ZXJyb3IgYmFuayBmb3VuZCBvbiBhbnkgY3B1cywKQEAgLTUyNCwxNiArNTI0LDE2IEBAIHZvaWQg bWNoZWNrX2Ntbl9oYW5kbGVyKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAg ICAgICBhdG9taWNfc2V0KCZmb3VuZF9lcnJvciwgMCk7CiAgICAgICAgIGF0b21pY19zZXQoJnNl dmVyaXR5X2NwdSwgLTEpOwogICAgIH0KLSAgICBtY2VfYmFycmllcl9leGl0KCZtY2VfdHJhcF9i YXIpOworICAgIG1jZV9iYXJyaWVyX2V4aXQoJm1jZV90cmFwX2JhciwgZmFsc2UpOwogCiAgICAg LyogQ2xlYXIgZmxhZ3MgYWZ0ZXIgYWJvdmUgZmF0YWwgY2hlY2sgKi8KLSAgICBtY2VfYmFycmll cl9lbnRlcigmbWNlX3RyYXBfYmFyKTsKKyAgICBtY2VfYmFycmllcl9lbnRlcigmbWNlX3RyYXBf YmFyLCBmYWxzZSk7CiAgICAgZ3N0YXR1cyA9IG1jYV9yZG1zcihNU1JfSUEzMl9NQ0dfU1RBVFVT KTsKICAgICBpZiAoKGdzdGF0dXMgJiBNQ0dfU1RBVFVTX01DSVApICE9IDApIHsKICAgICAgICAg bWNlX3ByaW50ayhNQ0VfQ1JJVElDQUwsICJNQ0U6IENsZWFyIE1DSVBAIGxhc3Qgc3RlcCIpOwog ICAgICAgICBtY2Ffd3Jtc3IoTVNSX0lBMzJfTUNHX1NUQVRVUywgMCk7CiAgICAgfQotICAgIG1j ZV9iYXJyaWVyX2V4aXQoJm1jZV90cmFwX2Jhcik7CisgICAgbWNlX2JhcnJpZXJfZXhpdCgmbWNl X3RyYXBfYmFyLCBmYWxzZSk7CiAKICAgICByYWlzZV9zb2Z0aXJxKE1BQ0hJTkVfQ0hFQ0tfU09G VElSUSk7CiB9CkBAIC0xNzAzLDcgKzE3MDMsNyBAQCBzdGF0aWMgdm9pZCBtY2Vfc29mdGlycSh2 b2lkKQogCiAgICAgbWNlX3ByaW50ayhNQ0VfVkVSQk9TRSwgIkNQVSVkIGVudGVyIHNvZnRpcnFc biIsIGNwdSk7CiAKLSAgICBtY2VfYmFycmllcl9lbnRlcigmbWNlX2luc2lkZV9iYXIpOworICAg IG1jZV9iYXJyaWVyX2VudGVyKCZtY2VfaW5zaWRlX2JhciwgZmFsc2UpOwogCiAgICAgLyoKICAg ICAgKiBFdmVyeWJvZHkgaXMgaGVyZS4gTm93IGxldCdzIHNlZSB3aG8gZ2V0cyB0byBkbyB0aGUK QEAgLTE3MTYsMTAgKzE3MTYsMTAgQEAgc3RhdGljIHZvaWQgbWNlX3NvZnRpcnEodm9pZCkKIAog ICAgIGF0b21pY19zZXQoJnNldmVyaXR5X2NwdSwgY3B1KTsKIAotICAgIG1jZV9iYXJyaWVyX2Vu dGVyKCZtY2Vfc2V2ZXJpdHlfYmFyKTsKKyAgICBtY2VfYmFycmllcl9lbnRlcigmbWNlX3NldmVy aXR5X2JhciwgZmFsc2UpOwogICAgIGlmICghbWN0ZWxlbV9oYXNfZGVmZXJyZWQoY3B1KSkKICAg ICAgICAgYXRvbWljX3NldCgmc2V2ZXJpdHlfY3B1LCBjcHUpOwotICAgIG1jZV9iYXJyaWVyX2V4 aXQoJm1jZV9zZXZlcml0eV9iYXIpOworICAgIG1jZV9iYXJyaWVyX2V4aXQoJm1jZV9zZXZlcml0 eV9iYXIsIGZhbHNlKTsKIAogICAgIC8qIFdlIGNob29zZSBzZXZlcml0eV9jcHUgZm9yIGZ1cnRo ZXIgcHJvY2Vzc2luZyAqLwogICAgIGlmIChhdG9taWNfcmVhZCgmc2V2ZXJpdHlfY3B1KSA9PSBj cHUpIHsKQEAgLTE3NDAsNyArMTc0MCw3IEBAIHN0YXRpYyB2b2lkIG1jZV9zb2Z0aXJxKHZvaWQp CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtY2VfYmFycmllcl9leGl0KCZtY2VfaW5zaWRlX2Jh cik7CisgICAgbWNlX2JhcnJpZXJfZXhpdCgmbWNlX2luc2lkZV9iYXIsIGZhbHNlKTsKIH0KIAog LyogTWFjaGluZSBDaGVjayBvd25lciBqdWRnZSBhbGdvcml0aG06Ci0tIAoyLjExLjAKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK