From owner-cvs-src@FreeBSD.ORG Fri Oct 21 16:14:38 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E37AB16A420 for ; Fri, 21 Oct 2005 16:14:38 +0000 (GMT) (envelope-from andre@freebsd.org) Received: from c00l3r.networx.ch (c00l3r.networx.ch [62.48.2.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5907E43D5E for ; Fri, 21 Oct 2005 16:14:37 +0000 (GMT) (envelope-from andre@freebsd.org) Received: (qmail 19064 invoked from network); 21 Oct 2005 16:19:52 -0000 Received: from c00l3r.networx.ch (HELO freebsd.org) ([62.48.2.2]) (envelope-sender ) by c00l3r.networx.ch (qmail-ldap-1.03) with SMTP for ; 21 Oct 2005 16:19:52 -0000 Message-ID: <435913FE.774C683D@freebsd.org> Date: Fri, 21 Oct 2005 18:14:54 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.8 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: Poul-Henning Kamp References: <30805.1129910750@critter.freebsd.dk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org, Bruce Evans Subject: Re: Timekeeping [Was: Re: cvs commit: src/usr.bin/vmstat vmstat.c src/usr.bin/w w.c] X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Oct 2005 16:14:39 -0000 Poul-Henning Kamp wrote: > > In message <20051022011020.T5554@delplex.bde.org>, Bruce Evans writes: > > >How do you resync laptops after suspending them for long enough for > >the clock to drift? Use ntpd and let it step, or use ntpd -x and let > >it take hours to resync? The right thing to do is step the clocks to > >the current time immediately so that they are correct while the system > >is actually being used. > > Ahh, and now we get into interesting territory: What _is_ the > definition of uptime for a laptop which has been suspended ? > > No matter which way you turn, there are dragons... > > >> But have resigned ourselves to not caring about the actual length > >> of seconds and therefore, presumably, having no serious interest > >> in timekeeping quality. > > > >I certainly care about errors of 1 microsecond (although I don't need > >to), and just remembered that I use stepping to fix up the clock after > >sitting in ddb with the clock stopped. This reduces the error in the > >real time clock to ~1 microsecond per second stopped, but gives an error > >of 1 second per second stopped in the monotonic time and the boot time. > >Here the correct treatment is to jump the monotonic time forward and > >not touch the boot time. > > Again, if you have been sitting in DDB, what exactly is the definition > of "uptime" ? IMO it's this: Uptime is the time the operating was available to present it's common services to userland. That excludes any suspend and ddb times. Single user mode however counts because the OS was servicing userland even if there was only one user. Uptime is represented in SI seconds. Time since boottime is the UTC delta from the time of when the OS initialized itself to now. Leap seconds cause deviations from uptime. Time since boottime is represented as numerical delta in seconds from two UTC timestamps. Uptime != Time since boottime. -- Andre