diff options
Diffstat (limited to 'driver/gator_hrtimer_gator.c')
-rw-r--r-- | driver/gator_hrtimer_gator.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/driver/gator_hrtimer_gator.c b/driver/gator_hrtimer_gator.c index 7658455..c1525e1 100644 --- a/driver/gator_hrtimer_gator.c +++ b/driver/gator_hrtimer_gator.c @@ -18,6 +18,7 @@ static void gator_hrtimer_offline(void); static enum hrtimer_restart gator_hrtimer_notify(struct hrtimer *hrtimer) { int cpu = get_logical_cpu(); + hrtimer_forward(hrtimer, per_cpu(hrtimer_expire, cpu), profiling_interval); per_cpu(hrtimer_expire, cpu) = ktime_add(per_cpu(hrtimer_expire, cpu), profiling_interval); (*callback)(); @@ -64,12 +65,11 @@ static int gator_hrtimer_init(int interval, void (*func)(void)) per_cpu(hrtimer_is_active, cpu) = 0; } - // calculate profiling interval - if (interval > 0) { + /* calculate profiling interval */ + if (interval > 0) profiling_interval = ns_to_ktime(1000000000UL / interval); - } else { + else profiling_interval.tv64 = 0; - } return 0; } |