aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2006-01-14 16:21:03 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-14 21:27:09 -0500
commit1f1c12afe5c3e0ef901eec12dee09df4947462ee (patch)
tree157f01441ef5ddc0810d0bfebca4667c21254529 /include
parentbcc132651d384ad115a275868effb49c64b348ce (diff)
[PATCH] s390: cputime misaccounting
finish_arch_switch needs to update the user cpu time as well, not just the system cpu time. Otherwise the partial user cpu time of a process that is stored in the lowcore will be (mis-)accounted to the next process. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-s390/system.h5
-rw-r--r--include/linux/hardirq.h4
2 files changed, 3 insertions, 6 deletions
diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h
index c7c3a9ad593f..b2e65e8bf812 100644
--- a/include/asm-s390/system.h
+++ b/include/asm-s390/system.h
@@ -115,13 +115,14 @@ static inline void sched_cacheflush(void)
115} 115}
116 116
117#ifdef CONFIG_VIRT_CPU_ACCOUNTING 117#ifdef CONFIG_VIRT_CPU_ACCOUNTING
118extern void account_user_vtime(struct task_struct *); 118extern void account_vtime(struct task_struct *);
119extern void account_tick_vtime(struct task_struct *);
119extern void account_system_vtime(struct task_struct *); 120extern void account_system_vtime(struct task_struct *);
120#endif 121#endif
121 122
122#define finish_arch_switch(prev) do { \ 123#define finish_arch_switch(prev) do { \
123 set_fs(current->thread.mm_segment); \ 124 set_fs(current->thread.mm_segment); \
124 account_system_vtime(prev); \ 125 account_vtime(prev); \
125} while (0) 126} while (0)
126 127
127#define nop() __asm__ __volatile__ ("nop") 128#define nop() __asm__ __volatile__ ("nop")
diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h
index 71d2b8a723b9..eab537091f2a 100644
--- a/include/linux/hardirq.h
+++ b/include/linux/hardirq.h
@@ -93,10 +93,6 @@ extern void synchronize_irq(unsigned int irq);
93struct task_struct; 93struct task_struct;
94 94
95#ifndef CONFIG_VIRT_CPU_ACCOUNTING 95#ifndef CONFIG_VIRT_CPU_ACCOUNTING
96static inline void account_user_vtime(struct task_struct *tsk)
97{
98}
99
100static inline void account_system_vtime(struct task_struct *tsk) 96static inline void account_system_vtime(struct task_struct *tsk)
101{ 97{
102} 98}