From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/5] x86/time: Rework pv_soft_rdtsc() to aid further cleanup Date: Tue, 20 Feb 2018 11:58:41 +0000 Message-ID: <1519127923-23539-4-git-send-email-andrew.cooper3@citrix.com> References: <1519127923-23539-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1519127923-23539-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org SGF2aW5nIHB2X3NvZnRfcmR0c2MoKSBlbXVsYXRlIGFsbCBwYXJ0cyBvZiBhbiByZHRzY3AgaXMg YXdrd2FyZCwgYW5kIGdldHMgaW4KdGhlIHdheSBvZiBzb21lIGludGVuZGVkIGNsZWFudXAuCgog KiBEcm9wIHRoZSByZHRzY3AgcGFyYW1ldGVyIGFuZCBhbHdheXMgbWFrZSB0aGUgY2FsbGVyIHJl c3BvbnNpYmxlIGZvciBlY3gKICAgdXBkYXRlcyB3aGVuIGFwcHJvcHJpYXRlLgogKiBTd2l0Y2gg dGhlIGZ1bmN0aW9uIGZyb20gYmVpbmcgdm9pZCwgYW5kIHJldHVybiB0aGUgbWFpbiB0aW1lc3Rh bXAgaW4gdGhlCiAgIHJldHVybiB2YWx1ZS4KClRoZSByZWdzIHBhcmFtZXRlciBpcyBzdGlsbCBu ZWVkZWQsIGJ1dCBvbmx5IGZvciB0aGUgc3RhdHMgY29sbGVjdGlvbiwgb25jZQphZ2FpbiBicmlu Z2luZyBpbnRvIHF1ZXN0aW9uIHRoZWlyIHV0aWxpdHkuICBUaGUgcGFyYW1ldGVyIGNhbiBob3dl dmVyIHN3aXRjaAp0byBiZWluZyBjb25zdC4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlLgoKU2lnbmVk LW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkND OiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkND OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQogeGVu L2FyY2gveDg2L3B2L2VtdWwtaW52LW9wLmMgIHwgIDcgKysrKysrLQogeGVuL2FyY2gveDg2L3B2 L2VtdWwtcHJpdi1vcC5jIHwgMTIgKysrKysrKystLS0tCiB4ZW4vYXJjaC94ODYvdGltZS5jICAg ICAgICAgICAgfCAgOCArKy0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmggICAgIHwg IDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2VtdWwtaW52LW9wLmMgYi94ZW4vYXJjaC94 ODYvcHYvZW11bC1pbnYtb3AuYwppbmRleCBmODk0NDE3Li5iMTkxNmI0IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvcHYvZW11bC1pbnYtb3AuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZW11bC1p bnYtb3AuYwpAQCAtNDYsNiArNDYsNyBAQCBzdGF0aWMgaW50IGVtdWxhdGVfaW52YWxpZF9yZHRz Y3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgY2hhciBvcGNvZGVbM107CiAgICAg dW5zaWduZWQgbG9uZyBlaXAsIHJjOwogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKKyAg ICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IHYtPmRvbWFpbjsKIAogICAgIGVpcCA9IHJlZ3MtPnJp cDsKICAgICBpZiAoIChyYyA9IGNvcHlfZnJvbV91c2VyKG9wY29kZSwgKGNoYXIgKillaXAsIHNp emVvZihvcGNvZGUpKSkgIT0gMCApCkBAIC01Niw3ICs1NywxMSBAQCBzdGF0aWMgaW50IGVtdWxh dGVfaW52YWxpZF9yZHRzY3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgaWYgKCBt ZW1jbXAob3Bjb2RlLCAiXHhmXHgxXHhmOSIsIHNpemVvZihvcGNvZGUpKSApCiAgICAgICAgIHJl dHVybiAwOwogICAgIGVpcCArPSBzaXplb2Yob3Bjb2RlKTsKLSAgICBwdl9zb2Z0X3JkdHNjKHYs IHJlZ3MsIDEpOworCisgICAgbXNyX3NwbGl0KHJlZ3MsIHB2X3NvZnRfcmR0c2ModiwgcmVncykp OworICAgIHJlZ3MtPnJjeCA9ICgoY3VycmQtPmFyY2gudHNjX21vZGUgPT0gVFNDX01PREVfUFZS RFRTQ1ApCisgICAgICAgICAgICAgICAgID8gY3VycmQtPmFyY2guaW5jYXJuYXRpb24gOiAwKTsK KwogICAgIHB2X2VtdWxfaW5zdHJ1Y3Rpb25fZG9uZShyZWdzLCBlaXApOwogICAgIHJldHVybiBF WENSRVRfZmF1bHRfZml4ZWQ7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZW11bC1w cml2LW9wLmMgYi94ZW4vYXJjaC94ODYvcHYvZW11bC1wcml2LW9wLmMKaW5kZXggMTdhYWY5Ny4u ZDRkNjRmMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYwpAQCAtMTM3NCwxMCArMTM3NCwxNCBAQCBp bnQgcHZfZW11bGF0ZV9wcml2aWxlZ2VkX29wKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog ICAgIGNhc2UgWDg2RU1VTF9PS0FZOgogICAgICAgICBpZiAoIGN0eHQudHNjICYgVFNDX0JBU0Ug KQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIGN0eHQudHNjICYgVFNDX0FVWCApCi0gICAg ICAgICAgICAgICAgcHZfc29mdF9yZHRzYyhjdXJyLCByZWdzLCAxKTsKLSAgICAgICAgICAgIGVs c2UgaWYgKCBjdXJyZC0+YXJjaC52dHNjICkKLSAgICAgICAgICAgICAgICBwdl9zb2Z0X3JkdHNj KGN1cnIsIHJlZ3MsIDApOworICAgICAgICAgICAgaWYgKCBjdXJyZC0+YXJjaC52dHNjIHx8IChj dHh0LnRzYyAmIFRTQ19BVVgpICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBtc3Jf c3BsaXQocmVncywgcHZfc29mdF9yZHRzYyhjdXJyLCByZWdzKSk7CisKKyAgICAgICAgICAgICAg ICBpZiAoIGN0eHQudHNjICYgVFNDX0FVWCApCisgICAgICAgICAgICAgICAgICAgIHJlZ3MtPnJj eCA9ICgoY3VycmQtPmFyY2gudHNjX21vZGUgPT0gVFNDX01PREVfUFZSRFRTQ1ApCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA/IGN1cnJkLT5hcmNoLmluY2FybmF0aW9uIDogMCk7 CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbXNyX3Nw bGl0KHJlZ3MsIHJkdHNjKCkpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv dGltZS5jIGIveGVuL2FyY2gveDg2L3RpbWUuYwppbmRleCBjOTA1MjRkLi5jNGNhNTE1IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvdGltZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKQEAg LTIwMjQsNyArMjAyNCw3IEBAIHU2NCBndHNjX3RvX2d0aW1lKHN0cnVjdCBkb21haW4gKmQsIHU2 NCB0c2MpCiAgICAgcmV0dXJuIHRpbWU7CiB9CiAKLXZvaWQgcHZfc29mdF9yZHRzYyhzdHJ1Y3Qg dmNwdSAqdiwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGludCByZHRzY3ApCit1aW50NjRf dCBwdl9zb2Z0X3JkdHNjKHN0cnVjdCB2Y3B1ICp2LCBjb25zdCBzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncykKIHsKICAgICBzX3RpbWVfdCBub3cgPSBnZXRfc190aW1lKCk7CiAgICAgc3RydWN0 IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKQEAgLTIwNDUsMTEgKzIwNDUsNyBAQCB2b2lkIHB2X3Nv ZnRfcmR0c2Moc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBpbnQg cmR0c2NwKQogCiAgICAgc3Bpbl91bmxvY2soJmQtPmFyY2gudnRzY19sb2NrKTsKIAotICAgIG1z cl9zcGxpdChyZWdzLCBndGltZV90b19ndHNjKGQsIG5vdykpOwotCi0gICAgaWYgKCByZHRzY3Ag KQotICAgICAgICAgcmVncy0+cmN4ID0KLSAgICAgICAgICAgICAoZC0+YXJjaC50c2NfbW9kZSA9 PSBUU0NfTU9ERV9QVlJEVFNDUCkgPyBkLT5hcmNoLmluY2FybmF0aW9uIDogMDsKKyAgICByZXR1 cm4gZ3RpbWVfdG9fZ3RzYyhkLCBub3cpOwogfQogCiBib29sIGNsb2Nrc291cmNlX2lzX3RzYyh2 b2lkKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni90aW1lLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L3RpbWUuaAppbmRleCAwNDYzMDJlLi4zYmFjNzRjIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L3RpbWUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3RpbWUuaApA QCAtNTYsNyArNTYsNyBAQCB1aW50NjRfdCBuc190b19hY3BpX3BtX3RpY2sodWludDY0X3QgbnMp OwogCiB1aW50NjRfdCB0c2NfdGlja3MybnModWludDY0X3QgdGlja3MpOwogCi12b2lkIHB2X3Nv ZnRfcmR0c2Moc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBpbnQg cmR0c2NwKTsKK3VpbnQ2NF90IHB2X3NvZnRfcmR0c2Moc3RydWN0IHZjcHUgKnYsIGNvbnN0IHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsKIHU2NCBndGltZV90b19ndHNjKHN0cnVjdCBkb21h aW4gKmQsIHU2NCB0aW1lKTsKIHU2NCBndHNjX3RvX2d0aW1lKHN0cnVjdCBkb21haW4gKmQsIHU2 NCB0c2MpOwogCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=