Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Mar 2011 09:19:58 +0300
From:      Maxim Dounin <mdounin@mdounin.ru>
To:        Jung-uk Kim <jkim@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r219653 - in head/sys: arm/include i386/include
Message-ID:  <20110315061957.GD99496@mdounin.ru>
In-Reply-To: <201103142330.p2ENUEL8014903@svn.freebsd.org>
References:  <201103142330.p2ENUEL8014903@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Hello!

On Mon, Mar 14, 2011 at 11:30:14PM +0000, Jung-uk Kim wrote:

> Author: jkim
> Date: Mon Mar 14 23:30:14 2011
> New Revision: 219653
> URL: http://svn.freebsd.org/changeset/base/219653
> 
> Log:
>   Make get_cyclecount(9) little bit more useful where binuptime(9) is used.

get_cyclecount(9) is for random harvesting, and dropping half of 
it's entropy in binuptime() case may not be a good idea.

It's probably better to fix manpage instead, to clarify it's 
intended usage.

Maxim Dounin

> 
> Modified:
>   head/sys/arm/include/cpu.h
>   head/sys/i386/include/cpu.h
> 
> Modified: head/sys/arm/include/cpu.h
> ==============================================================================
> --- head/sys/arm/include/cpu.h	Mon Mar 14 23:19:04 2011	(r219652)
> +++ head/sys/arm/include/cpu.h	Mon Mar 14 23:30:14 2011	(r219653)
> @@ -16,7 +16,7 @@ get_cyclecount(void)
>  	struct bintime bt;
>  
>  	binuptime(&bt);
> -	return (bt.frac ^ bt.sec);
> +	return ((uint64_t)bt.sec << 56 | bt.frac >> 8);
>  			
>  }
>  #endif
> 
> Modified: head/sys/i386/include/cpu.h
> ==============================================================================
> --- head/sys/i386/include/cpu.h	Mon Mar 14 23:19:04 2011	(r219652)
> +++ head/sys/i386/include/cpu.h	Mon Mar 14 23:30:14 2011	(r219653)
> @@ -67,7 +67,7 @@ void	swi_vm(void *);
>   * Return contents of in-cpu fast counter as a sort of "bogo-time"
>   * for random-harvesting purposes.
>   */
> -static __inline u_int64_t
> +static __inline uint64_t
>  get_cyclecount(void)
>  {
>  #if defined(I486_CPU) || defined(KLD_MODULE)
> @@ -75,7 +75,7 @@ get_cyclecount(void)
>  
>  	if (!tsc_present) {
>  		binuptime(&bt);
> -		return (bt.frac ^ bt.sec);
> +		return ((uint64_t)bt.sec << 56 | bt.frac >> 8);
>  	}
>  #endif
>  	return (rdtsc());
> _______________________________________________
> svn-src-all@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"



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