Author: jkim
Date: Tue Mar 15 17:14:26 2011
New Revision: 219672
URL: http://svn.freebsd.org/changeset/base/219672
Log:
Unconditionally use binuptime(9) for get_cyclecount(9) on i386. Since this
function is almost exclusively used for random harvesting, there is no need
for micro-optimization. Adjust the manual page accordingly.
Modified:
head/share/man/man9/get_cyclecount.9
head/sys/i386/include/cpu.h
Modified: head/share/man/man9/get_cyclecount.9
==============================================================================
--- head/share/man/man9/get_cyclecount.9 Tue Mar 15 16:50:17 2011
(r219671)
+++ head/share/man/man9/get_cyclecount.9 Tue Mar 15 17:14:26 2011
(r219672)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 24, 2009
+.Dd March 15, 2011
.Dt GET_CYCLECOUNT 9
.Os
.Sh NAME
@@ -65,14 +65,14 @@ do not have such a register,
so
.Fn get_cyclecount
on these platforms
-returns a (non-monotonic) combination of numbers
+returns a (monotonic) combination of numbers
represented by the
structure returned by
.Xr binuptime 9 .
.Pp
The
-.Tn Pentium
-processors all use the
+.Tn AMD64 and Intel 64
+processors use the
.Li TSC
register.
.Pp
Modified: head/sys/i386/include/cpu.h
==============================================================================
--- head/sys/i386/include/cpu.h Tue Mar 15 16:50:17 2011 (r219671)
+++ head/sys/i386/include/cpu.h Tue Mar 15 17:14:26 2011 (r219672)
@@ -70,15 +70,10 @@ void swi_vm(void *);
static __inline uint64_t
get_cyclecount(void)
{
-#if defined(I486_CPU) || defined(KLD_MODULE)
struct bintime bt;
- if (!tsc_present) {
- binuptime(&bt);
- return ((uint64_t)bt.sec << 56 | bt.frac >> 8);
- }
-#endif
- return (rdtsc());
+ binuptime(&bt);
+ return ((uint64_t)bt.sec << 56 | bt.frac >> 8);
}
#endif
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"