From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dan Magenheimer" Subject: RE: [PATCH] clocksource=tsc Date: Thu, 17 Jul 2008 17:05:36 -0600 Message-ID: <20080717170536109.00000001344@djm-pc> References: Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------822448da822448da Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: 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 ---------822448da822448da Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable After trying lots of things, I fell back to my known working version of time.c and adapted it forward to match tip. The attached patch (on top of 18063) boots clocksource=3Dtsc and doesn't display the weirdness for 2-1/2 hours of testing (always showed up around 1 hour before). It may not be elegant but it works and tip doesn't (with clocksource=3Dtsc). Dan > -----Original Message----- > From: Keir Fraser [mailto:keir.fraser@eu.citrix.com] > Sent: Wednesday, July 16, 2008 6:50 AM > To: dan.magenheimer@oracle.com; Xen-Devel (E-mail) > Cc: Dave Winchell > Subject: Re: [PATCH] clocksource=3Dtsc > = > = > That's a weird set of symptoms. Perhaps dom0's sense of system time is > diverging from Xen's? I don't see that CPUs can diverge, if = > their TSCs are > in sync, since we shouldn't be dynamically modifying the = > per-CPU timestamps > or scale factors. > = > -- Keir > = > On 16/7/08 13:43, "Dan Magenheimer" = > wrote: > = > > Well now I have to take that back. It DOESN'T work yet. > > I think I am experiencing "Weirdness can happen..." > > when booting with clocksource=3Dtsc... I was away from > > the machine overnight but the symptoms I've seen before > > are that the system becomes less snappy and eventually > > grinds to a near-halt. > > > > Oddly, I can login most of the way on the console > > and launch new xterm's in my VNC display, but I never > > get a prompt, and I can't interrupt a process I left > > running overnight in another xterm. The time display > > in gnome seems to have frozen about an hour after > > I booted. Pinging the machine works but ssh'ing to > > it doesn't ("Connection closed") > > > >> -----Original Message----- > >> From: Dan Magenheimer [mailto:dan.magenheimer@oracle.com] > >> Sent: Tuesday, July 15, 2008 10:12 PM > >> To: 'dan.magenheimer@oracle.com'; 'Keir Fraser'; = > 'Xen-Devel (E-mail)' > >> Cc: 'Dave Winchell' > >> Subject: RE: [PATCH] clocksource=3Dtsc > >> > >> > >> OK, ignore that. It looks like you have it all fixed > >> in 18060. I tried it and it now boots. Thanks! > >> > >>> -----Original Message----- > >>> From: Dan Magenheimer [mailto:dan.magenheimer@oracle.com] > >>> Sent: Tuesday, July 15, 2008 7:16 PM > >>> To: 'dan.magenheimer@oracle.com'; 'Keir Fraser'; 'Xen-Devel > >> (E-mail)' > >>> Cc: 'Dave Winchell' > >>> Subject: RE: [PATCH] clocksource=3Dtsc > >>> > >>> > >>>>>> Returning to 32-bit read_counter(), and having NULL > >>>>> read_counter when > >>>>>> clocksource=3Dtsc would be another possibility... > >>> > >>> Well I hacked on 18055 for awhile and just couldn't get it > >>> to boot. I think local_time_calibration() (and thus > >>> init_percpu_time()) is necessary for boot, though I'm not really > >>> sure why. Possibly the "Weirdness can happen..." comment in > >>> that routine? > >>> > >>> Anyway, this patch (on top of 18055) DOES work, returns to the > >>> 32-bit read_counter, and re-enables local_time_calibration(). > >>> I'd suggest putting off more major surgery for another day. > >>> > >>> Thanks, > >>> Dan > >>> > >>>> -----Original Message----- > >>>> From: Dan Magenheimer [mailto:dan.magenheimer@oracle.com] > >>>> Sent: Tuesday, July 15, 2008 10:04 AM > >>>> To: dan.magenheimer@oracle.com; Keir Fraser; Xen-Devel (E-mail) > >>>> Cc: Dave Winchell > >>>> Subject: RE: [PATCH] clocksource=3Dtsc > >>>> > >>>> > >>>> Hmmm... 18055 also fails to boot on my machine. > >>>> > >>>> Could we perhaps fall back to my original patch and do > >>>> cleanup later/separately? I also want to try implementing > >>>> an hpet64-based get_s_time() so will be working more > >>>> in this code later... but want to get clocksource=3Dtsc > >>>> working now with minimal code impact given the freeze. > >>>> > >>>>> -----Original Message----- > >>>>> From: Dan Magenheimer [mailto:dan.magenheimer@oracle.com] > >>>>> Sent: Tuesday, July 15, 2008 9:46 AM > >>>>> To: 'Keir Fraser'; 'Xen-Devel (E-mail)' > >>>>> Cc: 'Dave Winchell' > >>>>> Subject: RE: [PATCH] clocksource=3Dtsc > >>>>> > >>>>>> Actually in this mode of operation we hardly need a platform > >>>>>> timer *at all*. > >>>>>> The idea is that we let the TSCs free-run, because we know > >>>>>> they will behave. > >>>>>> Returning to 32-bit read_counter(), and having NULL > >>>>> read_counter when > >>>>>> clocksource=3Dtsc would be another possibility... > >>>>> > >>>>> That's essentially what the original tscstable.patch did, though > >>>>> I was perhaps much uglier in the miscellaneous parts. > >>>>> > >>>>> Thanks, > >>>>> Dan > >>>>> > >>>> > >>>> > > > = > = > ---------822448da822448da Content-Type: application/octet-stream; name="tscdebug7.patch" Content-Disposition: attachment; filename="tscdebug7.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciBlYTZhOTc5MzkyOGQgeGVuL2FyY2gveDg2L3RpbWUuYwotLS0gYS94ZW4vYXJj aC94ODYvdGltZS5jCVR1ZSBKdWwgMTUgMTg6MDA6MTMgMjAwOCArMDEwMAorKysgYi94ZW4v YXJjaC94ODYvdGltZS5jCVRodSBKdWwgMTcgMTQ6MzQ6MjQgMjAwOCAtMDYwMApAQCAtNDg0 LDcgKzQ4NCw3IEBAIHN0YXRpYyBpbnQgaW5pdF9wbXRpbWVyKHN0cnVjdCBwbGF0Zm9ybV8K ICAqIFBMQVRGT1JNIFRJTUVSIDU6IFRTQwogICovCiAKLSNkZWZpbmUgcGxhdGZvcm1fdGlt ZXJfaXNfdHNjKCkgKCFzdHJjbXAocGx0X3NyYy5uYW1lLCAiVFNDIikpCisjZGVmaW5lIHBs YXRmb3JtX3RpbWVyX2lzX3RzYygpIChwbHRfc3JjLmNvdW50ZXJfYml0cyA9PSA2NCkKIHN0 YXRpYyB1NjQgdHNjX2ZyZXE7CiAKIHN0YXRpYyB1NjQgcmVhZF90c2NfY291bnQodm9pZCkK QEAgLTQ5NiwyMiArNDk2LDcgQEAgc3RhdGljIHU2NCByZWFkX3RzY19jb3VudCh2b2lkKQog CiBzdGF0aWMgaW50IGluaXRfdHNjdGltZXIoc3RydWN0IHBsYXRmb3JtX3RpbWVzb3VyY2Ug KnB0cykKIHsKLSAgICB1bnNpZ25lZCBpbnQgY3B1OwotCi0gICAgLyoKLSAgICAgKiBUT0RP OiBldmFsdWF0ZSBzdGFiaWxpdHkgb2YgVFNDIGhlcmUsIHJldHVybiAwIGlmIG5vdCBzdGFi bGUuCi0gICAgICogRm9yIG5vdyB3ZSBhc3N1bWUgYWxsIFRTQ3MgYXJlIHN5bmNocm9uaXNl ZCBhbmQgaGVuY2UgY2FuIGFsbCBzaGFyZQotICAgICAqIENQVSAwJ3MgY2FsaWJyYXRpb24g dmFsdWVzLgotICAgICAqLwotICAgIGZvcl9lYWNoX2NwdSAoIGNwdSApCi0gICAgewotICAg ICAgICBpZiAoIGNwdSA9PSAwICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBt ZW1jcHkoJnBlcl9jcHUoY3B1X3RpbWUsIGNwdSksCi0gICAgICAgICAgICAgICAmcGVyX2Nw dShjcHVfdGltZSwgMCksCi0gICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGNwdV90aW1l KSk7Ci0gICAgfQotCisgICAgLyogVE9ETzogZXZhbHVhdGUgc3RhYmlsaXR5IG9mIFRTQyBo ZXJlLCByZXR1cm4gMCBpZiBub3Qgc3RhYmxlICovCiAgICAgcHRzLT5uYW1lID0gIlRTQyI7 CiAgICAgcHRzLT5mcmVxdWVuY3kgPSB0c2NfZnJlcTsKICAgICBwdHMtPnJlYWRfY291bnRl ciA9IHJlYWRfdHNjX2NvdW50OwpAQCAtNTQxLDYgKzUyNiw3IEBAIHN0YXRpYyB2b2lkIHBs dF9vdmVyZmxvdyh2b2lkICp1bnVzZWQpCiB7CiAgICAgdTY0IGNvdW50OwogCisgICAgQVNT RVJUKHBsdF9zcmMuY291bnRlcl9iaXRzIDw9IDMyKTsKICAgICBzcGluX2xvY2soJnBsYXRm b3JtX3RpbWVyX2xvY2spOwogICAgIGNvdW50ID0gcGx0X3NyYy5yZWFkX2NvdW50ZXIoKTsK ICAgICBwbHRfc3RhbXA2NCArPSAoY291bnQgLSBwbHRfc3RhbXApICYgcGx0X21hc2s7CkBA IC01NzUsNiArNTYxLDggQEAgc3RhdGljIHZvaWQgcGxhdGZvcm1fdGltZV9jYWxpYnJhdGlv bih2bwogICAgIHU2NCBjb3VudDsKICAgICBzX3RpbWVfdCBzdGFtcDsKIAorICAgIGlmICgg cGx0X3NyYy5jb3VudGVyX2JpdHMgPT0gNjQgKQorICAgICAgICByZXR1cm47CiAgICAgc3Bp bl9sb2NrKCZwbGF0Zm9ybV90aW1lcl9sb2NrKTsKICAgICBjb3VudCA9IHBsdF9zdGFtcDY0 ICsgKChwbHRfc3JjLnJlYWRfY291bnRlcigpIC0gcGx0X3N0YW1wKSAmIHBsdF9tYXNrKTsK ICAgICBzdGFtcCA9IF9fcmVhZF9wbGF0Zm9ybV9zdGltZShjb3VudCk7CkBAIC01ODUsNiAr NTczLDggQEAgc3RhdGljIHZvaWQgcGxhdGZvcm1fdGltZV9jYWxpYnJhdGlvbih2bwogCiBz dGF0aWMgdm9pZCByZXN1bWVfcGxhdGZvcm1fdGltZXIodm9pZCkKIHsKKyAgICBpZiAoIHBs dF9zcmMuY291bnRlcl9iaXRzID09IDY0ICkKKyAgICAgICAgcmV0dXJuOwogICAgIC8qIE5v IGNoYW5nZSBpbiBwbGF0Zm9ybV9zdGltZSBhY3Jvc3Mgc3VzcGVuZC9yZXN1bWUuICovCiAg ICAgcGxhdGZvcm1fdGltZXJfc3RhbXAgPSBwbHRfc3RhbXA2NDsKICAgICBwbHRfc3RhbXAg PSBwbHRfc3JjLnJlYWRfY291bnRlcigpOwpAQCAtNjI0LDEyICs2MTQsMjEgQEAgc3RhdGlj IHZvaWQgaW5pdF9wbGF0Zm9ybV90aW1lcih2b2lkKQogCiAgICAgc2V0X3RpbWVfc2NhbGUo JnBsdF9zY2FsZSwgcHRzLT5mcmVxdWVuY3kpOwogCi0gICAgcGx0X292ZXJmbG93X3Blcmlv ZCA9IHNjYWxlX2RlbHRhKAotICAgICAgICAxdWxsIDw8IChwdHMtPmNvdW50ZXJfYml0cy0x KSwgJnBsdF9zY2FsZSk7Ci0gICAgaW5pdF90aW1lcigmcGx0X292ZXJmbG93X3RpbWVyLCBw bHRfb3ZlcmZsb3csIE5VTEwsIDApOwotICAgIHBsdF9vdmVyZmxvdyhOVUxMKTsKKyAgICBp ZiAocHRzLT5jb3VudGVyX2JpdHMgIT0gNjQgKQorICAgIHsKKyAgICAgICAgcGx0X292ZXJm bG93X3BlcmlvZCA9IHNjYWxlX2RlbHRhKAorICAgICAgICAgICAgMXVsbCA8PCAocHRzLT5j b3VudGVyX2JpdHMtMSksICZwbHRfc2NhbGUpOworICAgICAgICBpbml0X3RpbWVyKCZwbHRf b3ZlcmZsb3dfdGltZXIsIHBsdF9vdmVyZmxvdywgTlVMTCwgMCk7CisgICAgICAgIHBsdF9v dmVyZmxvdyhOVUxMKTsKIAotICAgIHBsYXRmb3JtX3RpbWVyX3N0YW1wID0gcGx0X3N0YW1w NjQ7CisgICAgICAgIHBsYXRmb3JtX3RpbWVyX3N0YW1wID0gcGx0X3N0YW1wNjQ7CisgICAg fQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHBsYXRmb3JtX3RpbWVyX3N0YW1wID0gIHN0 aW1lX3BsYXRmb3JtX3N0YW1wID0gMDsKKyAgICAgICAgcGx0X3N0YW1wID0gcGx0X3N0YW1w NjQgPSAwOworICAgIH0KKwogCiAgICAgcHJpbnRrKCJQbGF0Zm9ybSB0aW1lciBpcyAlcyAl c1xuIiwKICAgICAgICAgICAgZnJlcV9zdHJpbmcocHRzLT5mcmVxdWVuY3kpLCBwdHMtPm5h bWUpOwpAQCAtNzUyLDE0ICs3NTEsMTkgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2Nt b3NfdGltZSh2b2lkKQogCiBzX3RpbWVfdCBnZXRfc190aW1lKHZvaWQpCiB7Ci0gICAgc3Ry dWN0IGNwdV90aW1lICp0ID0gJnRoaXNfY3B1KGNwdV90aW1lKTsKKyAgICBzdHJ1Y3QgY3B1 X3RpbWUgKnQ7CiAgICAgdTY0IHRzYywgZGVsdGE7CiAgICAgc190aW1lX3Qgbm93OwogCiAg ICAgcmR0c2NsbCh0c2MpOwotICAgIGRlbHRhID0gdHNjIC0gdC0+bG9jYWxfdHNjX3N0YW1w OwotICAgIG5vdyA9IHQtPnN0aW1lX2xvY2FsX3N0YW1wICsgc2NhbGVfZGVsdGEoZGVsdGEs ICZ0LT50c2Nfc2NhbGUpOwotCisgICAgaWYgKHBsYXRmb3JtX3RpbWVyX2lzX3RzYygpICkK KyAgICAgICAgbm93ID0gc2NhbGVfZGVsdGEodHNjLCAmcGx0X3NjYWxlKTsKKyAgICBlbHNl CisgICAgeworICAgICAgICB0ID0gJnRoaXNfY3B1KGNwdV90aW1lKTsKKyAgICAgICAgZGVs dGEgPSB0c2MgLSB0LT5sb2NhbF90c2Nfc3RhbXA7CisgICAgICAgIG5vdyA9IHQtPnN0aW1l X2xvY2FsX3N0YW1wICsgc2NhbGVfZGVsdGEoZGVsdGEsICZ0LT50c2Nfc2NhbGUpOworICAg IH0KICAgICByZXR1cm4gbm93OwogfQogCkBAIC04MjEsMTAgKzgyNSw2IEBAIGludCBjcHVf ZnJlcXVlbmN5X2NoYW5nZSh1NjQgZnJlcSkKIHsKICAgICBzdHJ1Y3QgY3B1X3RpbWUgKnQg PSAmdGhpc19jcHUoY3B1X3RpbWUpOwogICAgIHU2NCBjdXJyX3RzYzsKLQotICAgIC8qIE5v dGhpbmcgdG8gZG8gaWYgVFNDIGlzIHBsYXRmb3JtIHRpbWVyLiBBc3N1bWUgaXQgaXMgY29u c3RhbnQtcmF0ZS4gKi8KLSAgICBpZiAoIHBsYXRmb3JtX3RpbWVyX2lzX3RzYygpICkKLSAg ICAgICAgcmV0dXJuIDA7CiAKICAgICAvKiBTYW5pdHkgY2hlY2s6IENQVSBmcmVxdWVuY3kg YWxsZWdlZGx5IGRyb3BwaW5nIGJlbG93IDFNSHo/ICovCiAgICAgaWYgKCBmcmVxIDwgMTAw MDAwMHUgKQpAQCAtMTAyNCwxMiArMTAyNCw5IEBAIHZvaWQgaW5pdF9wZXJjcHVfdGltZSh2 b2lkKQogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAgICAgc190aW1lX3Qgbm93OwogCi0g ICAgaWYgKCBwbGF0Zm9ybV90aW1lcl9pc190c2MoKSApCi0gICAgICAgIHJldHVybjsKLQog ICAgIGxvY2FsX2lycV9zYXZlKGZsYWdzKTsKICAgICByZHRzY2xsKHQtPmxvY2FsX3RzY19z dGFtcCk7Ci0gICAgbm93ID0gcmVhZF9wbGF0Zm9ybV9zdGltZSgpOworICAgIG5vdyA9ICgg IXBsdF9zcmMucmVhZF9jb3VudGVyICkgPyAwIDogcmVhZF9wbGF0Zm9ybV9zdGltZSgpOwog ICAgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdzKTsKIAogICAgIHQtPnN0aW1lX21hc3Rlcl9z dGFtcCA9IG5vdzsKQEAgLTEwNDcsMTAgKzEwNDQsMTAgQEAgaW50IF9faW5pdCBpbml0X3hl bl90aW1lKHZvaWQpCiAKICAgICBsb2NhbF9pcnFfZGlzYWJsZSgpOwogCisgICAgaW5pdF9w ZXJjcHVfdGltZSgpOworCiAgICAgc3RpbWVfcGxhdGZvcm1fc3RhbXAgPSAwOwogICAgIGlu aXRfcGxhdGZvcm1fdGltZXIoKTsKLQotICAgIGluaXRfcGVyY3B1X3RpbWUoKTsKIAogICAg IC8qIGNoZWNrIGlmIFRTQyBpcyBpbnZhcmlhbnQgZHVyaW5nIGRlZXAgQyBzdGF0ZQogICAg ICAgIHRoaXMgaXMgYSBuZXcgZmVhdHVyZSBpbnRyb2R1Y2VkIGJ5IE5laGFsZW0qLwpAQCAt MTE0NiwxMiArMTE0MywxMSBAQCBpbnQgdGltZV9zdXNwZW5kKHZvaWQpCiAKIGludCB0aW1l X3Jlc3VtZSh2b2lkKQogewotICAgIC8qdTY0IHRtcCA9ICovaW5pdF9waXRfYW5kX2NhbGli cmF0ZV90c2MoKTsKKyAgICB1NjQgdG1wID0gaW5pdF9waXRfYW5kX2NhbGlicmF0ZV90c2Mo KTsKIAogICAgIGRpc2FibGVfcGl0X2lycSgpOwogCi0gICAgLyogRGlzYWJsZSB0aGlzIHdo aWxlIGNhbGlicmF0ZV90c2NfYXAoKSBhbHNvIGlzIHNraXBwZWQuICovCi0gICAgLypzZXRf dGltZV9zY2FsZSgmdGhpc19jcHUoY3B1X3RpbWUpLnRzY19zY2FsZSwgdG1wKTsqLworICAg IHNldF90aW1lX3NjYWxlKCZ0aGlzX2NwdShjcHVfdGltZSkudHNjX3NjYWxlLCB0bXApOwog CiAgICAgcmVzdW1lX3BsYXRmb3JtX3RpbWVyKCk7CiAK ---------822448da822448da 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 ---------822448da822448da--