|
@@ -57,14 +57,10 @@ DECLARE_PER_CPU(unsigned long long, cyc2ns_offset);
|
|
|
|
|
|
static inline unsigned long long __cycles_2_ns(unsigned long long cyc)
|
|
|
{
|
|
|
- unsigned long long quot;
|
|
|
- unsigned long long rem;
|
|
|
int cpu = smp_processor_id();
|
|
|
unsigned long long ns = per_cpu(cyc2ns_offset, cpu);
|
|
|
- quot = (cyc >> CYC2NS_SCALE_FACTOR);
|
|
|
- rem = cyc & ((1ULL << CYC2NS_SCALE_FACTOR) - 1);
|
|
|
- ns += quot * per_cpu(cyc2ns, cpu) +
|
|
|
- ((rem * per_cpu(cyc2ns, cpu)) >> CYC2NS_SCALE_FACTOR);
|
|
|
+ ns += mult_frac(cyc, per_cpu(cyc2ns, cpu),
|
|
|
+ (1UL << CYC2NS_SCALE_FACTOR));
|
|
|
return ns;
|
|
|
}
|
|
|
|