From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dan Magenheimer" Subject: RE: RE: [PATCH] record max stime skew (was RE: [PATCH] strictly increasing hvm guest time) Date: Thu, 3 Jul 2008 14:03:41 -0600 Message-ID: <20080703140341906.00000003744@djm-pc> References: <20080703103548140.00000003744@djm-pc> Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------2ccc4bc12ccc4bc1 Return-path: In-Reply-To: <20080703103548140.00000003744@djm-pc> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "dan.magenheimer@oracle.com" , Keir Fraser , "Xen-Devel (E-mail)" Cc: Dave Winchell List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------2ccc4bc12ccc4bc1 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable > > IMHO, it would be nice to put this patch into the tree as it > > will be good for helping to diagnose time skew problems > > such as the one just reported on the list. > = > Oops! Just after I sent the above email, I checked again and > the same machine (no reboots, no guests ever launched) now reports > a max stime skew of 4333ns!! Methinks there might be some > periodic glitch in the calibration code? OK this version records not only max but also a distribution of skew. (The code is a bit ugly... I thought about doing something fancy with log-binary but decided a few base-10 ranges were clearer for a human to read.) With this, I use "watch -d 'xm debug-key t; xm dmesg | tail -3'" and can observe that (on my single-socket two-core recent-vintage Intel box) roughly three-quarters of the skew measurements are between 10-100nsec, roughly one-quarter are between 100ns-1us, a couple percent are between 1us-10us and a few are >10us. This represents an approximate distribution of how long an hvm guest might observe time to be stopped (if it is able to repeatedly read time values quickly enough). So on some machines, this might be substantially worse than the old hvm-platform-timer-built-on-tsc mechanism (though we had no monotonicity constraint built into that). I wonder if the >1us outliers are occurring only if the processor has been idle for awhile, vs entirely random. Dan ---------2ccc4bc12ccc4bc1 Content-Type: application/octet-stream; name="maxskew3.patch" Content-Disposition: attachment; filename="maxskew3.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciAwOGY3N2RmMTRjYmEgeGVuL2FyY2gveDg2L2h2bS92cHQuYwotLS0gYS94ZW4v YXJjaC94ODYvaHZtL3ZwdC5jCVdlZCBKdWwgMDIgMTE6MzA6MzcgMjAwOCArMDkwMAorKysg Yi94ZW4vYXJjaC94ODYvaHZtL3ZwdC5jCVRodSBKdWwgMDMgMTM6Mjk6NTQgMjAwOCAtMDYw MApAQCAtMjUsNiArMjUsOCBAQAogI2RlZmluZSBtb2RlX2lzKGQsIG5hbWUpIFwKICAgICAo KGQpLT5hcmNoLmh2bV9kb21haW4ucGFyYW1zW0hWTV9QQVJBTV9USU1FUl9NT0RFXSA9PSBI Vk1QVE1fIyNuYW1lKQogCit1NjQgbWF4X2d1ZXN0X3RpbWVfc2tldyA9IDA7CisKIHZvaWQg aHZtX2luaXRfZ3Vlc3RfdGltZShzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBw bF90aW1lICpwbCA9ICZkLT5hcmNoLmh2bV9kb21haW4ucGxfdGltZTsKQEAgLTM4LDE2ICs0 MCwyMiBAQCB1NjQgaHZtX2dldF9ndWVzdF90aW1lKHN0cnVjdCB2Y3B1ICp2KQogewogICAg IHN0cnVjdCBwbF90aW1lICpwbCA9ICZ2LT5kb21haW4tPmFyY2guaHZtX2RvbWFpbi5wbF90 aW1lOwogICAgIHU2NCBub3c7CisgICAgaW50NjRfdCBza2V3OwogCiAgICAgLyogQ2FsbGVk IGZyb20gZGV2aWNlIG1vZGVscyBzaGFyZWQgd2l0aCBQViBndWVzdHMuIEJlIGNhcmVmdWwu ICovCiAgICAgQVNTRVJUKGlzX2h2bV92Y3B1KHYpKTsKIAogICAgIHNwaW5fbG9jaygmcGwt PnBsX3RpbWVfbG9jayk7CiAgICAgbm93ID0gZ2V0X3NfdGltZSgpICsgcGwtPnN0aW1lX29m ZnNldDsKLSAgICBpZiAoIChpbnQ2NF90KShub3cgLSBwbC0+bGFzdF9ndWVzdF90aW1lKSA+ PSAwICkKKyAgICBpZiAoICggc2tldyA9IChpbnQ2NF90KShub3cgLSBwbC0+bGFzdF9ndWVz dF90aW1lKSApID49IDAgKQogICAgICAgICBwbC0+bGFzdF9ndWVzdF90aW1lID0gbm93Owog ICAgIGVsc2UKKyAgICB7CisgICAgICAgIHNrZXcgPSAtc2tldzsKKyAgICAgICAgaWYgKCBz a2V3ID4gbWF4X2d1ZXN0X3RpbWVfc2tldyApCisgICAgICAgICAgICBtYXhfZ3Vlc3RfdGlt ZV9za2V3ID0gc2tldzsKICAgICAgICAgbm93ID0gcGwtPmxhc3RfZ3Vlc3RfdGltZTsKKyAg ICB9CiAgICAgc3Bpbl91bmxvY2soJnBsLT5wbF90aW1lX2xvY2spOwogCiAgICAgcmV0dXJu IG5vdyArIHYtPmFyY2guaHZtX3ZjcHUuc3RpbWVfb2Zmc2V0OwpkaWZmIC1yIDA4Zjc3ZGYx NGNiYSB4ZW4vYXJjaC94ODYvdGltZS5jCi0tLSBhL3hlbi9hcmNoL3g4Ni90aW1lLmMJV2Vk IEp1bCAwMiAxMTozMDozNyAyMDA4ICswOTAwCisrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMJ VGh1IEp1bCAwMyAxMzoyOTo1NCAyMDA4IC0wNjAwCkBAIC02OSw2ICs2OSwxMSBAQCBzdGF0 aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IGNwdV90aW1lLCBjCiAKIC8qIFRTQyBpcyBpbnZh cmlhbnQgb24gQyBzdGF0ZSBlbnRyeT8gKi8KIHN0YXRpYyBib29sX3QgdHNjX2ludmFyaWFu dDsKKworLyogcmVjb3JkIG1heGltdW0gc2tldyBhbmQgcmFuZ2UgdG8gcmVwb3J0IHdpdGgg ZGVidWcta2V5IHQgKi8KK3U2NCBtYXhfc3RpbWVfc2tldyA9IDA7Cit1NjQgc3RpbWVfc2tl d196ZXJvX2NudCA9IDAsc3RpbWVfc2tld18xMF9jbnQgPSAwLCBzdGltZV9za2V3XzEwMF9j bnQgPSAwOwordTY0IHN0aW1lX3NrZXdfMTAwMF9jbnQgPSAwLHN0aW1lX3NrZXdfMTAwMDBf Y250ID0gMCwgc3RpbWVfc2tld19iaWdfY250ID0gMDsKIAogLyoKICAqIFdlIHNpbXVsYXRl IGEgMzItYml0IHBsYXRmb3JtIHRpbWVyIGZyb20gdGhlIDE2LWJpdCBQSVQgY2gyIGNvdW50 ZXIuCkBAIC04MDgsNiArODEzLDcgQEAgc3RhdGljIHZvaWQgbG9jYWxfdGltZV9jYWxpYnJh dGlvbih2b2lkIAogICAgICAqLwogICAgIHNfdGltZV90IHByZXZfbG9jYWxfc3RpbWUsIGN1 cnJfbG9jYWxfc3RpbWU7CiAgICAgc190aW1lX3QgcHJldl9tYXN0ZXJfc3RpbWUsIGN1cnJf bWFzdGVyX3N0aW1lOworICAgIHNfdGltZV90IGN1cnJfc3RpbWVfc2tldzsKIAogICAgIC8q IFRTQyB0aW1lc3RhbXBzIHRha2VuIGR1cmluZyB0aGlzIGNhbGlicmF0aW9uIGFuZCBwcmV2 IGNhbGlicmF0aW9uLiAqLwogICAgIHU2NCBwcmV2X3RzYywgY3Vycl90c2M7CkBAIC04MzEs NiArODM3LDkgQEAgc3RhdGljIHZvaWQgbG9jYWxfdGltZV9jYWxpYnJhdGlvbih2b2lkIAog ICAgIC8qIFRoZSBvdmVyYWxsIGNhbGlicmF0aW9uIHNjYWxlIG11bHRpcGxpZXIuICovCiAg ICAgdTMyIGNhbGlicmF0aW9uX211bF9mcmFjOwogCisgICAgLyogaWdub3JlIG1heCBza2V3 IGNhbGN1bGF0aW9uIG9uIGZpcnN0IGZldyBpdGVyYXRpb25zICovCisgICAgc3RhdGljIGlu dCBza2lwX21heF9za2V3X2NhbGMgPSAxMDA7CisKICAgICBwcmV2X3RzYyAgICAgICAgICA9 IHQtPmxvY2FsX3RzY19zdGFtcDsKICAgICBwcmV2X2xvY2FsX3N0aW1lICA9IHQtPnN0aW1l X2xvY2FsX3N0YW1wOwogICAgIHByZXZfbWFzdGVyX3N0aW1lID0gdC0+c3RpbWVfbWFzdGVy X3N0YW1wOwpAQCAtODQ0LDYgKzg1Myw0MCBAQCBzdGF0aWMgdm9pZCBsb2NhbF90aW1lX2Nh bGlicmF0aW9uKHZvaWQgCiAgICAgY3Vycl9sb2NhbF9zdGltZSAgPSBnZXRfc190aW1lKCk7 CiAgICAgcmR0c2NsbChjdXJyX3RzYyk7CiAgICAgbG9jYWxfaXJxX2VuYWJsZSgpOworCisg ICAgLyoKKyAgICAgKiBSZWNvcmQgbWF4aW11bSBzdGltZSBza2V3IGZyb20gbWFzdGVyIHBy b2Nlc3Nvci4gIE5vdGUgdGhhdAorICAgICAqIGluIHRoZSBjYXNlIG9mIGEgZmFzdCBsb2Nh bCBjbG9jaywgc2tldyByZWZsZWN0cyB0aGUgcG9zdC1hZGp1c3RlZAorICAgICAqIHNrZXcg KHNlZSBiZWxvdyBhbmQgZ2V0X3NfdGltZSgpKSwgbm90IHRoZSBhY3R1YWwgc2tldy4gIEFs c28KKyAgICAgKiBub3RlIHRoYXQgc29tZSBwcm9jZXNzb3JzIG1heSBza2V3IHBvc2l0aXZl IGFuZCBvdGhlcnMgbmVnYXRpdmUKKyAgICAgKiByZWxhdGl2ZSB0byBtYXN0ZXIgc28gc2tl dyBiZXR3ZWVuIEFOWSBwYWlyIG9mIHByb2Nlc3NvcnMgbWF5IGJlCisgICAgICogYXMgbXVj aCBhcyAyeCByZWNvcmRlZCBtYXgKKyAgICAgKi8KKyAgICBpZiAoIHNtcF9wcm9jZXNzb3Jf aWQoKSApCisgICAgeworICAgICAgICBpZiAoIHNraXBfbWF4X3NrZXdfY2FsYyA+IDApCisg ICAgICAgICAgICBza2lwX21heF9za2V3X2NhbGMtLTsgIC8qIGFsbG93IGNhbGlicmF0aW9u IHRvIGNvbnZlcmdlICovCisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAg Y3Vycl9zdGltZV9za2V3ID0gY3Vycl9tYXN0ZXJfc3RpbWUgLSBjdXJyX2xvY2FsX3N0aW1l OworICAgICAgICAgICAgaWYgKCAoczY0KSBjdXJyX3N0aW1lX3NrZXcgPCAwICkKKyAgICAg ICAgICAgICAgICBjdXJyX3N0aW1lX3NrZXcgPSAtIGN1cnJfc3RpbWVfc2tldzsKKyAgICAg ICAgICAgIGlmICggY3Vycl9zdGltZV9za2V3ID4gbWF4X3N0aW1lX3NrZXcgKQorICAgICAg ICAgICAgICAgIG1heF9zdGltZV9za2V3ID0gY3Vycl9zdGltZV9za2V3OworICAgICAgICAg ICAgaWYgKCAhY3Vycl9zdGltZV9za2V3ICkKKyAgICAgICAgICAgICAgICBzdGltZV9za2V3 X3plcm9fY250Kys7CisgICAgICAgICAgICBlbHNlIGlmICggY3Vycl9zdGltZV9za2V3IDwg MTAgKQorICAgICAgICAgICAgICAgIHN0aW1lX3NrZXdfMTBfY250Kys7CisgICAgICAgICAg ICBlbHNlIGlmICggY3Vycl9zdGltZV9za2V3IDwgMTAwICkKKyAgICAgICAgICAgICAgICBz dGltZV9za2V3XzEwMF9jbnQrKzsKKyAgICAgICAgICAgIGVsc2UgaWYgKCBjdXJyX3N0aW1l X3NrZXcgPCAxMDAwICkKKyAgICAgICAgICAgICAgICBzdGltZV9za2V3XzEwMDBfY250Kys7 CisgICAgICAgICAgICBlbHNlIGlmICggY3Vycl9zdGltZV9za2V3IDwgMTAwMDAgKQorICAg IAkgICAgc3RpbWVfc2tld18xMDAwMF9jbnQrKzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg ICAgICAgICAgICBzdGltZV9za2V3X2JpZ19jbnQrKzsKKyAgICAgICAgfQorICAgIH0KIAog I2lmIDAKICAgICBwcmludGsoIlBSRSVkOiB0c2M9JSJQUkl1NjQiIHN0aW1lPSUiUFJJdTY0 IiBtYXN0ZXI9JSJQUkl1NjQiXG4iLApkaWZmIC1yIDA4Zjc3ZGYxNGNiYSB4ZW4vY29tbW9u L2tleWhhbmRsZXIuYwotLS0gYS94ZW4vY29tbW9uL2tleWhhbmRsZXIuYwlXZWQgSnVsIDAy IDExOjMwOjM3IDIwMDggKzA5MDAKKysrIGIveGVuL2NvbW1vbi9rZXloYW5kbGVyLmMJVGh1 IEp1bCAwMyAxMzoyOTo1NCAyMDA4IC0wNjAwCkBAIC0yNTEsNiArMjUxLDkgQEAgc3RhdGlj IHZvaWQgcmVhZF9jbG9ja3ModW5zaWduZWQgY2hhciBrZQogICAgIHVuc2lnbmVkIGludCBj cHUgPSBzbXBfcHJvY2Vzc29yX2lkKCksIG1pbl9jcHUsIG1heF9jcHU7CiAgICAgdTY0IG1p biwgbWF4LCBkaWYsIGRpZnVzOwogICAgIHN0YXRpYyBERUZJTkVfU1BJTkxPQ0sobG9jayk7 CisgICAgZXh0ZXJuIHU2NCBtYXhfc3RpbWVfc2tldywgbWF4X2d1ZXN0X3RpbWVfc2tldzsK KyAgICBleHRlcm4gdTY0IHN0aW1lX3NrZXdfemVyb19jbnQsIHN0aW1lX3NrZXdfMTBfY250 LCBzdGltZV9za2V3XzEwMF9jbnQ7CisgICAgZXh0ZXJuIHU2NCBzdGltZV9za2V3XzEwMDBf Y250LCBzdGltZV9za2V3XzEwMDAwX2NudCwgc3RpbWVfc2tld19iaWdfY250OwogCiAgICAg c3Bpbl9sb2NrKCZsb2NrKTsKIApAQCAtMjg0LDYgKzI4NywxNCBAQCBzdGF0aWMgdm9pZCBy ZWFkX2Nsb2Nrcyh1bnNpZ25lZCBjaGFyIGtlCiAgICAgcHJpbnRrKCJNaW4gPSAlIlBSSXU2 NCIgOyBNYXggPSAlIlBSSXU2NCIgOyBEaWZmID0gJSJQUkl1NjQKICAgICAgICAgICAgIiAo JSJQUkl1NjQiIG1pY3Jvc2Vjb25kcylcbiIsCiAgICAgICAgICAgIG1pbiwgbWF4LCBkaWYs IGRpZnVzKTsKKyAgICBwcmludGsoIk1heCBzdGltZSBza2V3ID0gJSJQUkl1NjQibnM7IE1h eCBndWVzdCBzdG9wcGFnZSA9ICUiUFJJdTY0Im5zXG4iLAorICAgICAgICAgICBtYXhfc3Rp bWVfc2tldywgbWF4X2d1ZXN0X3RpbWVfc2tldyk7CisgICAgcHJpbnRrKCJzdGltZSBza2V3 IGNvdW50czogMD0lIlBSSXU2NCI7ICIsc3RpbWVfc2tld196ZXJvX2NudCk7CisgICAgcHJp bnRrKCItMTA9JSJQUkl1NjQiOyAiLHN0aW1lX3NrZXdfMTBfY250KTsKKyAgICBwcmludGso Ii0xMDA9JSJQUkl1NjQiOyAiLHN0aW1lX3NrZXdfMTAwX2NudCk7CisgICAgcHJpbnRrKCIt MTAwMD0lIlBSSXU2NCI7ICIsc3RpbWVfc2tld18xMDAwX2NudCk7CisgICAgcHJpbnRrKCIt MTAwMDA9JSJQUkl1NjQiOyAiLHN0aW1lX3NrZXdfMTAwMDBfY250KTsKKyAgICBwcmludGso Ij4xMDAwMD0lIlBSSXU2NCJcbiIsc3RpbWVfc2tld19iaWdfY250KTsKIH0KIAogZXh0ZXJu IHZvaWQgZHVtcF9ydW5xKHVuc2lnbmVkIGNoYXIga2V5KTsK ---------2ccc4bc12ccc4bc1 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ---------2ccc4bc12ccc4bc1--