diff options
Diffstat (limited to 'fs/proc/array.c')
| -rw-r--r-- | fs/proc/array.c | 59 | 
1 files changed, 0 insertions, 59 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c index 0d6eb33597c6..71c9be59c9c2 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c  | |||
| @@ -337,65 +337,6 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, | |||
| 337 | return 0; | 337 | return 0; | 
| 338 | } | 338 | } | 
| 339 | 339 | ||
| 340 | /* | ||
| 341 | * Use precise platform statistics if available: | ||
| 342 | */ | ||
| 343 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING | ||
| 344 | static cputime_t task_utime(struct task_struct *p) | ||
| 345 | { | ||
| 346 | return p->utime; | ||
| 347 | } | ||
| 348 | |||
| 349 | static cputime_t task_stime(struct task_struct *p) | ||
| 350 | { | ||
| 351 | return p->stime; | ||
| 352 | } | ||
| 353 | #else | ||
| 354 | static cputime_t task_utime(struct task_struct *p) | ||
| 355 | { | ||
| 356 | clock_t utime = cputime_to_clock_t(p->utime), | ||
| 357 | total = utime + cputime_to_clock_t(p->stime); | ||
| 358 | u64 temp; | ||
| 359 | |||
| 360 | /* | ||
| 361 | * Use CFS's precise accounting: | ||
| 362 | */ | ||
| 363 | temp = (u64)nsec_to_clock_t(p->se.sum_exec_runtime); | ||
| 364 | |||
| 365 | if (total) { | ||
| 366 | temp *= utime; | ||
| 367 | do_div(temp, total); | ||
| 368 | } | ||
| 369 | utime = (clock_t)temp; | ||
| 370 | |||
| 371 | p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime)); | ||
| 372 | return p->prev_utime; | ||
| 373 | } | ||
| 374 | |||
| 375 | static cputime_t task_stime(struct task_struct *p) | ||
| 376 | { | ||
| 377 | clock_t stime; | ||
| 378 | |||
| 379 | /* | ||
| 380 | * Use CFS's precise accounting. (we subtract utime from | ||
| 381 | * the total, to make sure the total observed by userspace | ||
| 382 | * grows monotonically - apps rely on that): | ||
| 383 | */ | ||
| 384 | stime = nsec_to_clock_t(p->se.sum_exec_runtime) - | ||
| 385 | cputime_to_clock_t(task_utime(p)); | ||
| 386 | |||
| 387 | if (stime >= 0) | ||
| 388 | p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime)); | ||
| 389 | |||
| 390 | return p->prev_stime; | ||
| 391 | } | ||
| 392 | #endif | ||
| 393 | |||
| 394 | static cputime_t task_gtime(struct task_struct *p) | ||
| 395 | { | ||
| 396 | return p->gtime; | ||
| 397 | } | ||
| 398 | |||
| 399 | static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | 340 | static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, | 
| 400 | struct pid *pid, struct task_struct *task, int whole) | 341 | struct pid *pid, struct task_struct *task, int whole) | 
| 401 | { | 342 | { | 
