From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joao Martins Subject: Re: [PATCH v2 3/6] x86/time: implement tsc as clocksource Date: Fri, 1 Apr 2016 19:38:18 +0100 Message-ID: <56FEC01A.5070301@oracle.com> References: <1459259051-4943-1-git-send-email-joao.m.martins@oracle.com> <1459259051-4943-4-git-send-email-joao.m.martins@oracle.com> <20160401164300.GB10820@char.us.oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160401164300.GB10820@char.us.oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk Cc: Andrew Cooper , Keir Fraser , Jan Beulich , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org W3NuaXBdCgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3RpbWUuYyBiL3hlbi9hcmNoL3g4 Ni90aW1lLmMKPj4gaW5kZXggZWQ0ZWQyNC4uMjYwMmRkYSAxMDA2NDQKPj4gLS0tIGEveGVuL2Fy Y2gveDg2L3RpbWUuYwo+PiArKysgYi94ZW4vYXJjaC94ODYvdGltZS5jCj4+IEBAIC00MzIsNiAr NDMyLDYzIEBAIHVpbnQ2NF90IG5zX3RvX2FjcGlfcG1fdGljayh1aW50NjRfdCBucykKPj4gIH0K Pj4gIAo+PiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgo+PiArICogUExBVEZPUk0gVElNRVIgNDogVFNDCj4+ICsgKi8KPj4gK3N0 YXRpYyB1NjQgdHNjX2ZyZXE7Cj4+ICtzdGF0aWMgdW5zaWduZWQgbG9uZyB0c2NfbWF4X3dhcnA7 Cj4+ICtzdGF0aWMgdm9pZCB0c2NfY2hlY2tfcmVsaWFiaWxpdHkodm9pZCk7Cj4+ICsKPj4gK3N0 YXRpYyBpbnQgX19pbml0IGluaXRfdHNjdGltZXIoc3RydWN0IHBsYXRmb3JtX3RpbWVzb3VyY2Ug KnB0cykKPj4gK3sKPj4gKyAgICBib29sX3QgdHNjX3JlbGlhYmxlID0gMDsKPiAKPiBObyBuZWVk IHRvIHNldCBpdCB0byB6ZXJvLgpPSy4KCj4+ICsKPj4gKyAgICB0c2NfY2hlY2tfcmVsaWFiaWxp dHkoKTsKPiAKPiBUaGlzIGhhcyBiZWVuIGFscmVhZHkgY2FsbGVkIGJ5IHZlcmlmeV90c2NfcmVs aWFiaWxpdHkgd2hpY2ggY2FsbHMgdGhpcwo+IGZ1bmN0aW9uLiBTaG91bGQgd2Ugc2V0IHRzY19t YXhfd2FycCB0byB6ZXJvIGJlZm9yZSBjYWxsaW5nIGl0PwpBaCwgY29ycmVjdC4gQnV0IG1heSBi ZSBpdCdzIG5vdCBuZWNlc3NhcnkgdG8gcnVuIHRoZSB0c2NfY2hlY2tfcmVsaWFiaWxpdHkgaGVy ZQphdCBhbGwgYXMgd2hhdCBJIGFtIGRvaW5nIGlzIGluZWZpY2llbnQuIFNlZSBteSBvdGhlciBj b21tZW50IGJlbG93LgoKPiAKPj4gKwo+PiArICAgIGlmICggdHNjX21heF93YXJwID4gMCApCj4+ ICsgICAgewo+PiArICAgICAgICB0c2NfcmVsaWFibGUgPSAwOwo+IAo+IERpdHRvLiBJdCBpcyBi eSBkZWZhdWx0IHplcm8uCk9LLgoKPiAKPj4gKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJU U0M6IGRpZG4ndCBwYXNzZWQgd2FycCB0ZXN0XG4iKTsKPiAKPiBTbyB0aGUgZWFybGllciB0ZXN0 IGJ5IHZlcmlmeV90c2NfcmVsaWFiaWxpdHkgZGlkIGFscmVhZHkgdGhpcyBjaGVjayBhbmQKPiBw cmludGVkIHRoaXMgb3V0IC0gYW5kIGFsc28gY2xlYXJlZCB0aGUgWDg2X0ZFQVRVUkVfVFNDX1JF TElBQkxFLgo+IAo+IFNvIGNhbiB0aGlzIGNoZWNrIGFib3ZlIGJlIHJlbW92ZWQgdGhlbj8KPiAK PiBPciBhcmUgeW91IHRoaW5raW5nIHRvIGRpdGNoIHdoYXQgdmVyaWZ5X3RzY19yZWxpYWJpbGl0 eSBkb2VzPwo+IApJIGhhZCB0aGUgdHNjX2NoZWNrX3JlbGlhYmlsaXR5IGhlcmUgYmVjYXVzZSBU U0MgY291bGQgc3RpbGwgYmUgZGVlbWVkIHJlbGlhYmxlCmZvciBtYXhfY3N0YXRlIDw9IDIgb3Ig d2l0aCBDT05TVEFOVF9UU0MgKyBOT05TVE9QX1RTQy4gVGhlIHdheSBJIGhhdmUgaXQsIHRoZQpt b3N0IGxpa2VseSBzY2VuYXJpbyAoaS5lLiBoYXZpbmcgVFNDX1JFTElBQkxFKSB3b3VsZCBydW4g dHdpY2UuIFBlcmhhcHMgYQpiZXR0ZXIgd2F5IG9mIGRvaW5nIHRoaXMgd291bGQgYmUgdG8gcnVu IHRoZSB3YXJwIHRlc3Qgc29sZWx5IG9uCnZlcmlmeV90c2NfcmVsaWFiaWxpdHkoKSBpbiBhbGwg cG9zc2libGUgY29uZGl0aW9ucyB0byBiZSBkZWVtZWQgcmVsaWFibGU/IEFuZAp0aGVuIEkgY291 bGQgZXZlbiByZW1vdmUgYWxtb3N0IHRoZSB3aG9sZSBpbml0X3RzY3RpbWVyIGlmIGl0IHdhcyB0 byBiZSBjYWxsZWQKd2hlbiBubyB3YXJwcyBhcmUgb2JzZXJ2ZWQuCgo+PiArICAgIH0KPj4gKyAg ICBlbHNlIGlmICggYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1RTQ19SRUxJQUJMRSkgfHwKPj4g KyAgICAgICAgICAgICAgKGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DT05TVEFOVF9UU0MpICYm Cj4+ICsgICAgICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfTk9OU1RPUF9UU0Mp KSApCj4+ICsgICAgewo+PiArICAgICAgICB0c2NfcmVsaWFibGUgPSAxOwo+PiArICAgIH0KPj4g KyAgICBlbHNlIGlmICggYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQykgKQo+ PiArICAgIHsKPj4gKyAgICAgICAgdHNjX3JlbGlhYmxlID0gKG1heF9jc3RhdGUgPD0gMik7Cj4+ ICsKPj4gKyAgICAgICAgaWYgKCB0c2NfcmVsaWFibGUgKQo+PiArICAgICAgICAgICAgcHJpbnRr KFhFTkxPR19JTkZPICJUU0M6IG5vIGRlZXAgQ3N0YXRlcywgZGVlbWVkIHJlbGlhYmxlXG4iKTsK Pj4gKyAgICAgICAgZWxzZQo+PiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPICJUU0M6 IGRlZXAgQ3N0YXRlcyBwb3NzaWJsZSwgc28gbm90IHJlbGlhYmxlXG4iKTsKPj4gKyAgICB9Cj4+ ICsKPj4gKyAgICBwdHMtPmZyZXF1ZW5jeSA9IHRzY19mcmVxOwo+PiArICAgIHJldHVybiB0c2Nf cmVsaWFibGU7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB1NjQgcmVhZF90c2Modm9pZCkKPj4gK3sK Pj4gKyAgICByZXR1cm4gcmR0c2MoKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQgcmVzdW1l X3RzY3RpbWVyKHN0cnVjdCBwbGF0Zm9ybV90aW1lc291cmNlICpwdHMpCj4+ICt7Cj4+ICt9Cj4+ ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSBfX2luaXRkYXRhIHBsdF90 c2MgPQo+PiArewo+PiArICAgIC5pZCA9ICJ0c2MiLAo+PiArICAgIC5uYW1lID0gIlRTQyIsCj4+ ICsgICAgLnJlYWRfY291bnRlciA9IHJlYWRfdHNjLAo+PiArICAgIC5jb3VudGVyX2JpdHMgPSA2 NCwKPj4gKyAgICAuaW5pdCA9IGluaXRfdHNjdGltZXIsCj4gCj4gQ291bGQgeW91IGFkZCBhIG5v dGUgaW4gaGVyZToKPiAKPiAvKiBOb3QgY2FsbGVkIGJ5IGluaXRfcGxhdGZvcm1fdGltZXIgYXMg aXQgaXMgbm90IG9uIHRoZSBwbHRfdGltZXJzIGFycmF5LiAqLwo+IApPSywgSSBmaXhlZCB0aGF0 LgoKPj4gKyAgICAucmVzdW1lID0gcmVzdW1lX3RzY3RpbWVyLAo+PiArfTsKPj4gKwo+PiArLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kgo+PiAgICogR0VORVJJQyBQTEFURk9STSBUSU1FUiBJTkZSQVNUUlVDVFVSRQo+PiAgICovCj4+ ICAKPj4gQEAgLTUzMyw2ICs1OTAsMjEgQEAgc3RhdGljIHZvaWQgcmVzdW1lX3BsYXRmb3JtX3Rp bWVyKHZvaWQpCj4+ICAgICAgcGx0X3N0YW1wID0gcGx0X3NyYy5yZWFkX2NvdW50ZXIoKTsKPj4g IH0KPj4gIAo+PiArc3RhdGljIHZvaWQgX19pbml0IHJlc2V0X3BsYXRmb3JtX3RpbWVyKHZvaWQp Cj4+ICt7Cj4+ICsgICAgLyogRGVhY3RpdmF0ZSBhbnkgdGltZXJzIHJ1bm5pbmcgKi8KPj4gKyAg ICBraWxsX3RpbWVyKCZwbHRfb3ZlcmZsb3dfdGltZXIpOwo+PiArICAgIGtpbGxfdGltZXIoJmNh bGlicmF0aW9uX3RpbWVyKTsKPj4gKwo+PiArICAgIC8qIFJlc2V0IGNvdW50ZXJzIGFuZCBzdGFt cHMgKi8KPj4gKyAgICBzcGluX2xvY2tfaXJxKCZwbGF0Zm9ybV90aW1lcl9sb2NrKTsKPj4gKyAg ICBwbHRfc3RhbXAgPSAwOwo+PiArICAgIHBsdF9zdGFtcDY0ID0gMDsKPj4gKyAgICBwbGF0Zm9y bV90aW1lcl9zdGFtcCA9IDA7Cj4+ICsgICAgc3RpbWVfcGxhdGZvcm1fc3RhbXAgPSAwOwo+PiAr ICAgIHNwaW5fdW5sb2NrX2lycSgmcGxhdGZvcm1fdGltZXJfbG9jayk7Cj4+ICt9Cj4+ICsKPj4g IHN0YXRpYyBpbnQgX19pbml0IHRyeV9wbGF0Zm9ybV90aW1lcihzdHJ1Y3QgcGxhdGZvcm1fdGlt ZXNvdXJjZSAqcHRzKQo+PiAgewo+PiAgICAgIGludCByYyA9IC0xOwo+PiBAQCAtNTQxLDYgKzYx MywxMCBAQCBzdGF0aWMgaW50IF9faW5pdCB0cnlfcGxhdGZvcm1fdGltZXIoc3RydWN0IHBsYXRm b3JtX3RpbWVzb3VyY2UgKnB0cykKPj4gICAgICBpZiAoIHJjIDw9IDAgKQo+PiAgICAgICAgICBy ZXR1cm4gcmM7Cj4+ICAKPj4gKyAgICAvKiBXZSBoYXZlIGEgcGxhdGZvcm0gdGltZXNvdXJjZSBh bHJlYWR5IHNvIHJlc2V0IGl0ICovCj4+ICsgICAgaWYgKCBwbHRfc3JjLmNvdW50ZXJfYml0cyAh PSAwICkKPj4gKyAgICAgICAgcmVzZXRfcGxhdGZvcm1fdGltZXIoKTsKPj4gKwo+PiAgICAgIHBs dF9tYXNrID0gKHU2NCl+MHVsbCA+PiAoNjQgLSBwdHMtPmNvdW50ZXJfYml0cyk7Cj4+ICAKPj4g ICAgICBzZXRfdGltZV9zY2FsZSgmcGx0X3NjYWxlLCBwdHMtPmZyZXF1ZW5jeSk7Cj4+IEBAIC01 NjYsNyArNjQyLDkgQEAgc3RhdGljIHZvaWQgX19pbml0IGluaXRfcGxhdGZvcm1fdGltZXIodm9p ZCkKPj4gICAgICBzdHJ1Y3QgcGxhdGZvcm1fdGltZXNvdXJjZSAqcHRzID0gTlVMTDsKPj4gICAg ICBpbnQgaSwgcmMgPSAtMTsKPj4gIAo+PiAtICAgIGlmICggb3B0X2Nsb2Nrc291cmNlWzBdICE9 ICdcMCcgKQo+PiArICAgIC8qIGNsb2Nrc291cmNlPXRzYyBpcyBpbml0aWFsaXplZCBsYXRlciB3 aGVuIGFsbCBDUFVTIGFyZSB1cCAqLwo+IAo+IFBlcmhhcHM6Cj4gLyogY2xvY2tzb3VyY2U9dHNj IGlzIGluaXRpYWxpemVkIHZpYSBfX2luaXRjYWxscyAod2hlbiBDUFVzIGFyZSB1cCkuICovID8K PiAKSXQncyBjbGVhcmVyIGluZGVlZC4gRml4ZWQgdGhhdCB0b28uCgo+PiArICAgIGlmICggKG9w dF9jbG9ja3NvdXJjZVswXSAhPSAnXDAnKSAmJgo+PiArICAgICAgICAgKHN0cmNtcChvcHRfY2xv Y2tzb3VyY2UsICJ0c2MiKSAhPSAwKSApCj4+ICAgICAgewo+PiAgICAgICAgICBmb3IgKCBpID0g MDsgaSA8IEFSUkFZX1NJWkUocGx0X3RpbWVycyk7IGkrKyApCj4+ICAgICAgICAgIHsKPj4gQEAg LTExOTIsNyArMTI3MCw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX3RzY193YXJwKHVuc2lnbmVkIGxv bmcgdHNjX2toeiwgdW5zaWduZWQgbG9uZyAqbWF4X3dhcnApCj4+ICAgICAgfQo+PiAgfQo+PiAg Cj4+IC1zdGF0aWMgdW5zaWduZWQgbG9uZyB0c2NfbWF4X3dhcnAsIHRzY19jaGVja19jb3VudDsK Pj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRzY19jaGVja19jb3VudDsKPj4gIHN0YXRpYyBjcHVt YXNrX3QgdHNjX2NoZWNrX2NwdW1hc2s7Cj4+ICAKPj4gIHN0YXRpYyB2b2lkIHRzY19jaGVja19z bGF2ZSh2b2lkICp1bnVzZWQpCj4+IEBAIC0xNDM3LDYgKzE1MTUsMjAgQEAgc3RhdGljIGludCBf X2luaXQgdmVyaWZ5X3RzY19yZWxpYWJpbGl0eSh2b2lkKQo+PiAgICAgICAgICB9Cj4+ICAgICAg fQo+PiAgCj4+ICsgICAgaWYgKCAhc3RyY21wKG9wdF9jbG9ja3NvdXJjZSwgInRzYyIpICkKPj4g KyAgICB7Cj4+ICsgICAgICAgIGlmICggdHJ5X3BsYXRmb3JtX3RpbWVyKCZwbHRfdHNjKSA+IDAg KQo+PiArICAgICAgICB7Cj4+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX0lORk8gIlN3aXRj aGVkIHRvIFBsYXRmb3JtIHRpbWVyICVzIFRTQ1xuIiwKPj4gKyAgICAgICAgICAgICAgICAgICBm cmVxX3N0cmluZyhwbHRfc3JjLmZyZXF1ZW5jeSkpOwo+PiArCj4+ICsgICAgICAgICAgICBpbml0 X3BlcmNwdV90aW1lKCk7Cj4+ICsKPj4gKyAgICAgICAgICAgIGluaXRfdGltZXIoJmNhbGlicmF0 aW9uX3RpbWVyLCB0aW1lX2NhbGlicmF0aW9uLCBOVUxMLCAwKTsKPj4gKyAgICAgICAgICAgIHNl dF90aW1lcigmY2FsaWJyYXRpb25fdGltZXIsIE5PVygpICsgRVBPQ0gpOwo+PiArICAgICAgICB9 Cj4+ICsgICAgfQo+PiArCj4+ICAgICAgcmV0dXJuIDA7Cj4+ICB9Cj4+ICBfX2luaXRjYWxsKHZl cmlmeV90c2NfcmVsaWFiaWxpdHkpOwo+PiBAQCAtMTQ3Niw2ICsxNTY4LDcgQEAgdm9pZCBfX2lu aXQgZWFybHlfdGltZV9pbml0KHZvaWQpCj4+ICAgICAgc3RydWN0IGNwdV90aW1lICp0ID0gJnRo aXNfY3B1KGNwdV90aW1lKTsKPj4gICAgICB1NjQgdG1wID0gaW5pdF9waXRfYW5kX2NhbGlicmF0 ZV90c2MoKTsKPj4gIAo+PiArICAgIHRzY19mcmVxID0gdG1wOwo+PiAgICAgIHNldF90aW1lX3Nj YWxlKCZ0LT50c2Nfc2NhbGUsIHRtcCk7Cj4+ICAgICAgdC0+bG9jYWxfdHNjX3N0YW1wID0gYm9v dF90c2Nfc3RhbXA7Cj4+ICAKPj4gLS0gCj4+IDIuMS40CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=