mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 00:21:17 +00:00
taskstats scaled time cleanup
This moves the ability to scale cputime into generic code. This allows us to fix the issue in kernel/timer.c (noticed by Balbir) where we could only add an unscaled value to the scaled utime/stime. This adds a cputime_to_scaled function. As before, the POWERPC version does the scaling based on the last SPURR/PURR ratio calculated. The generic and s390 (only other arch to implement asm/cputime.h) versions are both NOPs. Also moves the SPURR and PURR snapshots closer. Signed-off-by: Michael Neuling <mikey@neuling.org> Cc: Jay Lan <jlan@engr.sgi.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d9afa43532
commit
06b8e878a9
6 changed files with 28 additions and 12 deletions
|
@ -818,12 +818,14 @@ unsigned long next_timer_interrupt(void)
|
|||
#ifndef CONFIG_VIRT_CPU_ACCOUNTING
|
||||
void account_process_tick(struct task_struct *p, int user_tick)
|
||||
{
|
||||
cputime_t one_jiffy = jiffies_to_cputime(1);
|
||||
|
||||
if (user_tick) {
|
||||
account_user_time(p, jiffies_to_cputime(1));
|
||||
account_user_time_scaled(p, jiffies_to_cputime(1));
|
||||
account_user_time(p, one_jiffy);
|
||||
account_user_time_scaled(p, cputime_to_scaled(one_jiffy));
|
||||
} else {
|
||||
account_system_time(p, HARDIRQ_OFFSET, jiffies_to_cputime(1));
|
||||
account_system_time_scaled(p, jiffies_to_cputime(1));
|
||||
account_system_time(p, HARDIRQ_OFFSET, one_jiffy);
|
||||
account_system_time_scaled(p, cputime_to_scaled(one_jiffy));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue