Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Jun 2003 13:50:13 -0700 (PDT)
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: misc/34596: slow gettimeofday in FreeBSD 4.5
Message-ID:  <200306042050.h54KoDTQ036874@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/34596; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: Andreas Gustafsson <gson@nominum.com>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: misc/34596: slow gettimeofday in FreeBSD 4.5
Date: Thu, 5 Jun 2003 06:43:01 +1000 (EST)

 On Wed, 4 Jun 2003, Andreas Gustafsson wrote:
 
 > Bruce Evans writes:
 > > FreeBSD-4.8 should be configured to use the TSC timecounter in the non-SMP
 > > case.
 >
 > Do you mean "should be automatically configured", or "should be
 > configured by the user"?  If the latter, where is this documented?
 
 Both :-).  It seems to be undocumented (except in the source code).
 
 > > Configuration of apm may pessimize the default configuration.  The
 > > TSC is not supported for the !SMP case.
 >
 > When you say "!SMP", do you mean "non-SMP" (which would seem to
 > contradict the above) or "SMP"?
 
 I mean "non-SMP".  The automatic configuration does a reasonable job
 in the non-SMP case unless apm is configured.  Unfortunately, GENERIC
 in RELENG_4 sets a bad example by configuring apm.  It is configured
 as disabled so it is usually not used, but this doesn't help because
 the automatic configuration uses a compile-time test for apm.  Better
 yet, the automatic configuration refuses to register the TSC as a
 timecounter if apm is statically configured, so you can't select the
 TSC timecounter at runtime using "sysctl kern.timecounter=TSC" unless
 you remove apm from the configuration.  These bugs are fixed in -current.
 
 In the SMP case, the TSC timecounter is similarly statically not
 configured, but this is correct since it doesn't work in the SMP
 case.  The automatic configuration uses the best available timecounter,
 but this is too often the i8254 timecounter since there aren't many
 working timecounters to choose from.  In -current, there is also the
 acpi timecounter which works right in more cases (broken cases include
 ones where acpi is broken and some old machines where the acpi timer
 runs at double speed).
 
 Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306042050.h54KoDTQ036874>