From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: Re: [PATCH 1/8] x86/time: improve cross-CPU clock monotonicity (and more) Date: Wed, 15 Jun 2016 23:51:58 +0100 Message-ID: <5761DC0E.5010201@oracle.com> References: <576140F302000078000F52FE@prv-mh.provo.novell.com> <5761496802000078000F5395@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bDJeS-00085x-Th for xen-devel@lists.xenproject.org; Wed, 15 Jun 2016 22:51:13 +0000 In-Reply-To: <5761496802000078000F5395@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: xen-devel , Dario Faggioli , Andrew Cooper List-Id: xen-devel@lists.xenproject.org T24gMDYvMTUvMjAxNiAxMToyNiBBTSwgSmFuIEJldWxpY2ggd3JvdGU6Cj4gLS0tIGEveGVuL2Fy Y2gveDg2L3RpbWUuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKPiBAQCAtMTMyOCwyMSAr MTMyOCw1MSBAQCBzdGF0aWMgdm9pZCB0aW1lX2NhbGlicmF0aW9uKHZvaWQgKnVudXNlCj4gICAg ICAgICAgICAgICAgICAgICAgICZyLCAxKTsKPiAgfQo+ICAKPiArc3RhdGljIHN0cnVjdCB7Cj4g KyAgICBzX3RpbWVfdCBsb2NhbF9zdGltZSwgbWFzdGVyX3N0aW1lOwo+ICt9IGFwX2JyaW5ndXBf cmVmOwo+ICsKPiArdm9pZCB0aW1lX2xhdGNoX3N0YW1wcyh2b2lkKSB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXiBzdHlsZTogc2hvdWxkbid0IHRoaXMgYnJhY2tldCBiZSBvbiBh IG5ldyBsaW5lPwoKPiArICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKyAgICB1NjQgdHNjOwo+ ICsKPiArICAgIGxvY2FsX2lycV9zYXZlKGZsYWdzKTsKPiArICAgIGFwX2JyaW5ndXBfcmVmLm1h c3Rlcl9zdGltZSA9IHJlYWRfcGxhdGZvcm1fc3RpbWUoKTsKPiArICAgIHRzYyA9IHJkdHNjKCk7 Cj4gKyAgICBsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7Cj4gKwo+ICsgICAgYXBfYnJpbmd1cF9y ZWYubG9jYWxfc3RpbWUgPSBnZXRfc190aW1lX2ZpeGVkKHRzYyk7Cj4gK30KPiArCj4gIHZvaWQg aW5pdF9wZXJjcHVfdGltZSh2b2lkKQo+ICB7Cj4gICAgICBzdHJ1Y3QgY3B1X3RpbWUgKnQgPSAm dGhpc19jcHUoY3B1X3RpbWUpOwo+ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPiArICAgIHU2 NCB0c2M7Cj4gICAgICBzX3RpbWVfdCBub3c7Cj4gIAo+ICAgICAgLyogSW5pdGlhbCBlc3RpbWF0 ZSBmb3IgVFNDIHJhdGUuICovCj4gICAgICB0LT50c2Nfc2NhbGUgPSBwZXJfY3B1KGNwdV90aW1l LCAwKS50c2Nfc2NhbGU7Cj4gIAo+ICAgICAgbG9jYWxfaXJxX3NhdmUoZmxhZ3MpOwo+IC0gICAg dC0+bG9jYWxfdHNjX3N0YW1wID0gcmR0c2MoKTsKPiAgICAgIG5vdyA9IHJlYWRfcGxhdGZvcm1f c3RpbWUoKTsKRG8gd2UgbmVlZCB0byB0YWtlIGFub3RoZXIgcmVhZCBmcm9tIHRoZSBwbGF0Zm9y bSB0aW1lciBoZXJlPyBXZSBjb3VsZApqdXN0IHJldXNlIHRoZSBvbmUgb24gYXBfYnJpbmd1cF9y ZWYubWFzdGVyX3N0aW1lLiBTZWUgYWxzbyBiZWxvdy4KCj4gKyAgICB0c2MgPSByZHRzYygpOwo+ ICAgICAgbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwo+ICAKPiAgICAgIHQtPnN0aW1lX21hc3Rl cl9zdGFtcCA9IG5vdzsKPiArICAgIC8qCj4gKyAgICAgKiBUbyBhdm9pZCBhIGRpc2NvbnRpbnVp dHkgKFRTQyBhbmQgcGxhdGZvcm0gY2xvY2sgY2FuJ3QgYmUgZXhwZWN0ZWQKPiArICAgICAqIHRv IGJlIGluIHBlcmZlY3Qgc3luYyksIGluaXRpYWxpemF0aW9uIGhlcmUgbmVlZHMgdG8gbWF0Y2gg dXAgd2l0aAo+ICsgICAgICogbG9jYWxfdGltZV9jYWxpYnJhdGlvbigpJ3MgZGVjaXNpb24gd2hl dGhlciB0byB1c2UgaXRzIGZhc3QgcGF0aC4KPiArICAgICAqLwo+ICsgICAgaWYgKCBib290X2Nw dV9oYXMoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSApCj4gKyAgICB7Cj4gKyAgICAgICAgaWYg KCBzeXN0ZW1fc3RhdGUgPCBTWVNfU1RBVEVfc21wX2Jvb3QgKQo+ICsgICAgICAgICAgICBub3cg PSBnZXRfc190aW1lX2ZpeGVkKHRzYyk7Cj4gKyAgICAgICAgZWxzZQo+ICsgICAgICAgICAgICBu b3cgKz0gYXBfYnJpbmd1cF9yZWYubG9jYWxfc3RpbWUgLSBhcF9icmluZ3VwX3JlZi5tYXN0ZXJf c3RpbWU7Cj4gKyAgICB9Cj4gKyAgICB0LT5sb2NhbF90c2Nfc3RhbXAgICAgPSB0c2M7CgpBcyBm YXIgYXMgbXkgY3VycmVudCBleHBlcmltZW50YXRpb24gKGJvdGggdjEgb2YgdGhpcyBwYXRjaCBh bmQgdGhlIHdob2xlIHNlcmllcyBvbgp2MiksIHRoZSBzb3VyY2Ugb2YgdGhlIHJlbWFpbmluZyB3 YXJwcyBjb3VsZCBiZSBmaXhlZCB3aXRoIHRoaXMgc2VlZGluZy4gVGhvdWdoIEkKdGhpbmsgdGhp cyBzZWVkaW5nIG1pZ2h0IG5vdCB5ZXQgYmUgY29ycmVjdC4gRXNzZW50aWFsbHkgdGhlIGJvb3Qg Q1BVIHlvdSBkbwpnZXRfc190aW1lX2ZpeGVkKHRzYyksIHdoaWNoIGJhc2ljYWxseSBnaXZlcyB5 b3UgYSB2YWx1ZSBzdHJpY3RseSBjYWxjdWxhdGVkIHdpdGggVFNDCnNpbmNlIGJvb3RfdHNjX3N0 YW1wLiBGb3IgdGhlIG90aGVyIENQVXMgeW91IGFwcGVuZCB0aGUgdGltZSBza2V3IGJldHdlZW4g VFNDIGFuZApwbGF0Zm9ybSB0aW1lciBjYWxjdWxhdGVkIGJlZm9yZSBBUCBicmluZ3VwLCB3aXRo IGEgdmFsdWUganVzdCByZWFkIG9uIHRoZSBwbGF0Zm9ybQp0aW1lci4gV2hpY2ggSSBhc3N1bWUg eW91IHRha2UgdGhpcyBhcyBhbiBhcHByb3hpbWF0aW9uIHNrZXcgYmV0d2VlbiBUU0MgYW5kIHBs YXRmb3JtCnRpbWVyLgoKU28sIGJlZm9yZSB0aGlzIHBhdGNoIGNwdV90aW1lIGlzIGZpbGxlZCBs aWtlIHRoaXM6CgpDUFUgMDogTTAgLCBUMApDUFUgMTogTTEgLCBUMQpDUFUgMjogTTIgLCBUMgoK V2l0aCB0aGlzIHBhdGNoIGl0IGdvZXMgbGlrZToKCkNQVSAwOiBMMCAsIFQwCkNQVSAxOiBMMSA9 IChNMSArIChMIC0gTSkpLCBUMQpDUFUgMjogTDIgPSAoTTIgKyAoTCAtIE0pKSwgVDIKCkdpdmVu IHRoYXQsCgoxKSB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGNvbW1hcyBhcmUgcmVzcGVjdGl2ZWx5IGxv Y2FsIHN0aW1lLCB0c2MgdGhhdCBhcmUKd3JpdHRlbiBpbiBjcHVfdGltZQoyKSBNMiA+IE0xID4g TTAgYXMgdmFsdWVzIHJlYWQgZnJvbSBwbGF0Zm9ybSB0aW1lci4KMykgTCBhbmQgTSBzb2xlbHkg YXMgdmFsdWVzIGNhbGN1bGF0ZWQgb24gQ1BVIGRvaW5nIEFQIGJyaW5ndXAuCgpBZnRlciB0aGlz IHNlZWRpbmcsIGxvY2FsX3RpbWVfY2FsaWJyYXRpb24gd2lsbCBpbmNyZW1lbnQgdGhlIGRlbHRh cyBiZXR3ZWVuCmNhbGlicmF0aW9ucyBldmVyeSBzZWNvbmQsIGJhc2VkIGVudGlyZWx5IG9uIGEg bW9ub3RvbmljYWxseSBpbmNyZWFzaW5nIFRTQy4gQWx0b3VnaApJIHNlZSB0d28gaXNzdWVzIGhl cmU6IDEpIGFwcGVuZGluZyB0byBhIG5ldyByZWFkIGZyb20gcGxhdGZvcm0gdGltZSB3aGljaCBt aWdodAphbHJlYWR5IGJlIG9mZnNldHRlZCBieSB0aGUgb25lIHRha2VuIGZyb20gdGhlIGJvb3Qg Q1BVIGFuZCAyKSB0aGUgc2tldyB5b3UgY2FsY3VsYXRlCmRvbid0IGFjY291bnQgZm9yIHRoZSBj dXJyZW50IHRzYy4gV2hpY2ggbGVhZHMgdG8gbG9jYWwgc3RpbWUgYW5kIHRzYyBzdGlsbCBub3Qg YmVpbmcKYSB2YWxpZCBwYWlyIGZvciB0aGUgc2Vjb25kYXJ5IENQVXMuIFNvIGl0IHdvdWxkIGJl IHBvc3NpYmxlIHRoYXQgZ2V0X3NfdGltZShTMCkgb24KQ1BVMCBpbW1lZGlhdGVseSBmb2xsb3dl ZCBieSBhIGdldF9zX3RpbWUoUzEpIG9uIENQVTEgW1MxID4gUzBdIGVuZHMgdXAgcmV0dXJuaW5n IGEKdmFsdWUgYmFja3dhcmRzIElPVyBMMCArIHNjYWxlKFMwIC0gVDApIGlzIGJpZ2dlciB0aGFu IEwxICsgc2NhbGUoUzEgLSBUMSkuIFRoYXQgaXMKaW5kZXBlbmRlbnRseSBvZiB0aGUgZGVsdGFz IGJlaW5nIGFkZGVkIG9uIGV2ZXJ5IGNhbGlicmF0aW9uLgoKU28gaG93IGFib3V0IHdlIGRvIHRo ZSBzZWVkaW5nIGluIGFub3RoZXIgd2F5PwoKMSkgUmVseWluZyBvbiBpbmRpdmlkdWFsIENQVSBU U0MgbGlrZSB5b3UgZG8gb24gQ1BVIDA6CgogICAgIHQtPnN0YW1wLm1hc3Rlcl9zdGltZSA9IG5v dzsKKyAgICB0LT5zdGFtcC5sb2NhbF90c2MgPSAwOworICAgIHQtPnN0YW1wLmxvY2FsX3N0aW1l ID0gMDsKKwogICAgIGlmICggYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykg KQogICAgIHsKICAgICAgICAgbm93ID0gZ2V0X3NfdGltZV9maXhlZCh0c2MpOwogICAgIH0KCigu Li4pCgpPciAyKSB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBza2V3IGJldHdlZW4gcGxhdGZvcm0g dGltZXIgYW5kIHRzYyB3ZSB0YWtlIG9uCmluaXRfcGVyY3B1X3RpbWUuIERpZmYgYmVsb3cgYmFz ZWQgb24gdGhpcyBzZXJpZXM6CgpAQCAtMTM5NCwxMSArMTUwOCwxNCBAQCB2b2lkIGluaXRfcGVy Y3B1X3RpbWUodm9pZCkKICAgICB0LT50c2Nfc2NhbGUgPSBwZXJfY3B1KGNwdV90aW1lLCAwKS50 c2Nfc2NhbGU7CgogICAgIGxvY2FsX2lycV9zYXZlKGZsYWdzKTsKLSAgICBub3cgPSByZWFkX3Bs YXRmb3JtX3N0aW1lKCk7CisgICAgbm93ID0gYXBfYnJpbmd1cF9yZWYubWFzdGVyX3N0aW1lOwog ICAgIHRzYyA9IHJkdHNjX29yZGVyZWQoKTsKICAgICBsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7 CgogICAgIHQtPnN0YW1wLm1hc3Rlcl9zdGltZSA9IG5vdzsKKyAgICB0LT5zdGFtcC5sb2NhbF90 c2MgPSBib290X3RzY19zdGFtcDsKKyAgICB0LT5zdGFtcC5sb2NhbF9zdGltZSA9IDA7CisKCiAg ICAgLyoKICAgICAgKiBUbyBhdm9pZCBhIGRpc2NvbnRpbnVpdHkgKFRTQyBhbmQgcGxhdGZvcm0g Y2xvY2sgY2FuJ3QgYmUgZXhwZWN0ZWQKICAgICAgKiB0byBiZSBpbiBwZXJmZWN0IHN5bmMpLCBp bml0aWFsaXphdGlvbiBoZXJlIG5lZWRzIHRvIG1hdGNoIHVwIHdpdGgKQEAgLTE0MDYsMTAgKzE1 MjMsMTIgQEAgdm9pZCBpbml0X3BlcmNwdV90aW1lKHZvaWQpCiAgICAgICovCiAgICAgaWYgKCBi b290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ09OU1RBTlRfVFNDKSApCiAgICAgeworICAgICAgICB1 NjQgc3RpbWUgPSBnZXRfc190aW1lX2ZpeGVkKHRzYyk7CisKICAgICAgICAgaWYgKCBzeXN0ZW1f c3RhdGUgPCBTWVNfU1RBVEVfc21wX2Jvb3QgKQotICAgICAgICAgICAgbm93ID0gZ2V0X3NfdGlt ZV9maXhlZCh0c2MpOworICAgICAgICAgICAgbm93ID0gc3RpbWU7CiAgICAgICAgIGVsc2UKLSAg ICAgICAgICAgIG5vdyArPSBhcF9icmluZ3VwX3JlZi5sb2NhbF9zdGltZSAtIGFwX2JyaW5ndXBf cmVmLm1hc3Rlcl9zdGltZTsKKyAgICAgICAgICAgIG5vdyArPSBzdGltZSAtIGFwX2JyaW5ndXBf cmVmLm1hc3Rlcl9zdGltZTsKICAgICB9CgpTZWNvbmQgb3B0aW9uIGZvbGxvd3MgYSBzaW1pbGFy IHRoaW5raW5nIG9mIHRoaXMgcGF0Y2gsIGJ1dCBvbiBib3RoIHdheXMgdGhlCmxvY2FsX3N0aW1l IHdpbGwgbWF0Y2ggdGhlIHRzYyBvbiBpbml0X3BlcmNwdV90aW1lLCB0aHVzIGJlaW5nIGEgbWF0 Y2hlZCBwYWlyLiBJIGhhdmUKYSB0ZXN0IHNpbWlsYXIgdG8gY2hlY2tfdHNjX3dhcnAgYnV0IHdp dGggZ2V0X3NfdGltZSgpIGFuZCBJIG5vIGxvbmdlciBvYnNlcnZlIHRpbWUKZ29pbmcgYmFja3dh cmRzLiBCdXQgd2l0aG91dCB0aGUgYWJvdmUgSSBzdGlsbCBvYnNlcnZlIGl0IGV2ZW4gb24gc2hv cnQgcGVyaW9kcy4KVGhvdWdodHM/IChTb3JyeSBmb3IgdGhlIGxvbmcgYW5zd2VyKQoKSm9hbwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK