aboutsummaryrefslogtreecommitdiff
path: root/kernel/trace/trace-clock-32-to-64.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/trace-clock-32-to-64.c')
-rw-r--r--kernel/trace/trace-clock-32-to-64.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/trace/trace-clock-32-to-64.c b/kernel/trace/trace-clock-32-to-64.c
index 3134e47de78..11d961d8acf 100644
--- a/kernel/trace/trace-clock-32-to-64.c
+++ b/kernel/trace/trace-clock-32-to-64.c
@@ -153,13 +153,15 @@ static void tsc_timer_fct(unsigned long data)
*/
static int __init precalc_stsc_interval(void)
{
+ u64 rem_freq, rem_interval;
+
precalc_expire =
- div_u64(HW_BITMASK,
- ((div_u64(trace_clock_frequency(), HZ)
+ __iter_div_u64_rem(HW_BITMASK,
+ ((__iter_div_u64_rem(trace_clock_frequency(), HZ, &rem_freq)
* trace_clock_freq_scale())
<< 1)
- 1
- - (EXPECTED_INTERRUPT_LATENCY * HZ / 1000))
+ - (EXPECTED_INTERRUPT_LATENCY * HZ / 1000), &rem_interval)
>> 1;
WARN_ON(precalc_expire == 0);
printk(KERN_DEBUG "Synthetic TSC timer will fire each %u jiffies.\n",