diff options
| -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 cfa5d4f7ca56..8ed085733773 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) | |||
| 617 | ns_now = __cycles_2_ns(tsc_now); | 617 | ns_now = __cycles_2_ns(tsc_now); |
| 618 | 618 | ||
| 619 | if (cpu_khz) { | 619 | if (cpu_khz) { |
| 620 | *scale = (NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR)/cpu_khz; | 620 | *scale = ((NSEC_PER_MSEC << CYC2NS_SCALE_FACTOR) + |
| 621 | cpu_khz / 2) / cpu_khz; | ||
| 621 | *offset = ns_now - mult_frac(tsc_now, *scale, | 622 | *offset = ns_now - mult_frac(tsc_now, *scale, |
| 622 | (1UL << CYC2NS_SCALE_FACTOR)); | 623 | (1UL << CYC2NS_SCALE_FACTOR)); |
| 623 | } | 624 | } |
