mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
sched: update delay-accounting to use CFS's precise stats
update delay-accounting to use CFS's precise stats. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
b27f03d4bd
commit
172ba844a8
@@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user