|
@@ -99,9 +99,10 @@ void __delayacct_blkio_end(void)
|
|
|
int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk)
|
|
|
{
|
|
|
s64 tmp;
|
|
|
- struct timespec ts;
|
|
|
- unsigned long t1,t2,t3;
|
|
|
+ unsigned long t1;
|
|
|
+ unsigned long long t2, t3;
|
|
|
unsigned long flags;
|
|
|
+ struct timespec ts;
|
|
|
|
|
|
/* Though tsk->delays accessed later, early exit avoids
|
|
|
* unnecessary returning of other data
|
|
@@ -124,11 +125,10 @@ int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk)
|
|
|
|
|
|
d->cpu_count += t1;
|
|
|
|
|
|
- jiffies_to_timespec(t2, &ts);
|
|
|
- tmp = (s64)d->cpu_delay_total + timespec_to_ns(&ts);
|
|
|
+ tmp = (s64)d->cpu_delay_total + t2;
|
|
|
d->cpu_delay_total = (tmp < (s64)d->cpu_delay_total) ? 0 : tmp;
|
|
|
|
|
|
- tmp = (s64)d->cpu_run_virtual_total + (s64)jiffies_to_usecs(t3) * 1000;
|
|
|
+ tmp = (s64)d->cpu_run_virtual_total + t3;
|
|
|
d->cpu_run_virtual_total =
|
|
|
(tmp < (s64)d->cpu_run_virtual_total) ? 0 : tmp;
|
|
|
|