Date: Tue, 15 Mar 2011 17:14:26 +0000 (UTC) From: Jung-uk Kim <jkim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r219672 - in head: share/man/man9 sys/i386/include Message-ID: <201103151714.p2FHEQdF049456@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103151714.p2FHEQdF049456>