diff options
Diffstat (limited to 'arch/x86/kernel/tsc.c')
| -rw-r--r-- | arch/x86/kernel/tsc.c | 3 | 
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index cfa5d4f7ca5..8ed08573377 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -617,7 +617,8 @@ static void set_cyc2ns_scale(unsigned long cpu_khz, int cpu)  	ns_now = __cycles_2_ns(tsc_now);  	if (cpu_khz) { -		*scale = (NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR)/cpu_khz; +		*scale = ((NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR) + +				cpu_khz / 2) / cpu_khz;  		*offset = ns_now - mult_frac(tsc_now, *scale,  					     (1UL << CYC2NS_SCALE_FACTOR));  	}  |