|
|
Choosing A Webhost: |
Re: Solaris dom0 system time jumps backwards, bug in dtrace_xpv_getsystim: msg#00080os.solaris.opensolaris.xen
I wrote > John wrote, > > > On Mon, Aug 13, 2007 at 04:00:20AM -0700, Jürgen Keil wrote: > > > > > I don't see that the xen hypervisor guarantees that the reference time > > > stamp > > > is "recent"; in fact > > > > IIRC the calibration is re-done on every CPU once a second, it seems this > > should be enough (just?) to avoid any overflow. So I'd be interested to know > > exactly what's happening when there's a delta larger than 2**32 > I think I'll have to do a few more experiments, e.g. if we ever use this > "goto out;" in xen/arch/x86/time.c local_time_calibration(). I think it > could explain why local_tsc_stamp hasn't changed: > > 788 /* > 789 * Weirdness can happen if we lose sync with the platform timer. > 790 * We could be smarter here: resync platform timer with local timer? > 791 */ > 792 if ( ((s64)stime_elapsed64 < (EPOCH / 2)) ) > 793 goto out; Yep, at some point during the Solaris dom0 boot, it starts to use that "goto out". Initially, when I'm stopped in "kmdb -d" it doesn't use that "goto out". The platform timer value that is returned by calling read_platform_stime() stops incrementing at some point; "stime_elapsed64 = curr_master_stime - prev_master_stime;" is always less than 0.5 seconds. My Tecra S1 is using the PIT platform timer ((XEN) Platform timer is 1.193MHz PIT). After the platform timer is dead, there are no more vcpu timestamp information updates. (And with my change in dtrace_xpv_getsystime(), dom0 survives this state) The platform timer gets broken as soon as Solaris dom0 is enumerating isa devices, using acpica. This will initialize the acpica subsystem, and breaks the PIT timer when the notebook is switched into acpi mode (i.e. when the "acpi_enable" command byte from the ACPI FADT table is sent to the "smc_cmd" I/O port). By booting the Solaris dom0 kernel with "-B acpi-user-options=8" I can boot dom0 into single user mode without breaking the PIT platform timer. Question is: why does enabling acpi mode break the PIT timer? It seems this does not happen on all x86 systems, though. On another system, ASUS M2NPV-VM, nVidia chipset, AMD64 X2 AM2 cpu, there is a BIOS setup option to disable the HPET timer, and with this setup the xen hypervisor is using the PIT platform timer, too. But on this box a Solaris dom0 is booting just fine. This message posted from opensolaris.org _______________________________________________ xen-discuss mailing list xen-discuss@xxxxxxxxxxxxxxx
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Solaris dom0 system time jumps backwards, bug in dtrace_xpv_getsystime() ?, Juergen Keil |
|---|---|
| Next by Date: | Re: Solaris dom0 system time jumps backwards, bug in dtrace_xpv_getsystim, David Edmondson |
| Previous by Thread: | Re: Solaris dom0 system time jumps backwards, bug in dtrace_xpv_getsystime() ?, Juergen Keil |
| Next by Thread: | Re: Solaris dom0 system time jumps backwards, bug in dtrace_xpv_getsystim, David Edmondson |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |