summaryrefslogtreecommitdiff
path: root/arch/ia64/kernel/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/time.c')
-rw-r--r--arch/ia64/kernel/time.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index 5dc801d97790..f15bca4776a7 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -21,6 +21,7 @@
#include <linux/timex.h>
#include <linux/timekeeper_internal.h>
#include <linux/platform_device.h>
+#include <linux/cputime.h>
#include <asm/machvec.h>
#include <asm/delay.h>
@@ -64,29 +65,29 @@ extern cputime_t cycle_to_cputime(u64 cyc);
void vtime_flush(struct task_struct *tsk)
{
struct thread_info *ti = task_thread_info(tsk);
- cputime_t delta;
+ u64 delta;
if (ti->utime)
account_user_time(tsk, cputime_to_nsecs(cycle_to_cputime(ti->utime)));
if (ti->gtime)
- account_guest_time(tsk, cycle_to_cputime(ti->gtime));
+ account_guest_time(tsk, cputime_to_nsecs(cycle_to_cputime(ti->gtime)));
if (ti->idle_time)
account_idle_time(cputime_to_nsecs(cycle_to_cputime(ti->idle_time)));
if (ti->stime) {
- delta = cycle_to_cputime(ti->stime);
+ delta = cputime_to_nsecs(cycle_to_cputime(ti->stime));
account_system_index_time(tsk, delta, CPUTIME_SYSTEM);
}
if (ti->hardirq_time) {
- delta = cycle_to_cputime(ti->hardirq_time);
+ delta = cputime_to_nsecs(cycle_to_cputime(ti->hardirq_time));
account_system_index_time(tsk, delta, CPUTIME_IRQ);
}
if (ti->softirq_time) {
- delta = cycle_to_cputime(ti->softirq_time);
+ delta = cputime_to_nsecs(cycle_to_cputime(ti->softirq_time));
account_system_index_time(tsk, delta, CPUTIME_SOFTIRQ);
}