diff options
-rw-r--r-- | arch/ia64/kernel/time.c | 8 | ||||
-rw-r--r-- | arch/powerpc/kernel/time.c | 4 | ||||
-rw-r--r-- | arch/s390/kernel/vtime.c | 4 | ||||
-rw-r--r-- | include/linux/kvm_host.h | 4 | ||||
-rw-r--r-- | include/linux/vtime.h | 8 | ||||
-rw-r--r-- | kernel/sched/cputime.c | 12 |
6 files changed, 20 insertions, 20 deletions
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 5e4850305d3f..f6388216080d 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -106,9 +106,9 @@ void vtime_task_switch(struct task_struct *prev) | |||
106 | struct thread_info *ni = task_thread_info(current); | 106 | struct thread_info *ni = task_thread_info(current); |
107 | 107 | ||
108 | if (idle_task(smp_processor_id()) != prev) | 108 | if (idle_task(smp_processor_id()) != prev) |
109 | __vtime_account_system(prev); | 109 | vtime_account_system(prev); |
110 | else | 110 | else |
111 | __vtime_account_idle(prev); | 111 | vtime_account_idle(prev); |
112 | 112 | ||
113 | vtime_account_user(prev); | 113 | vtime_account_user(prev); |
114 | 114 | ||
@@ -135,14 +135,14 @@ static cputime_t vtime_delta(struct task_struct *tsk) | |||
135 | return delta_stime; | 135 | return delta_stime; |
136 | } | 136 | } |
137 | 137 | ||
138 | void __vtime_account_system(struct task_struct *tsk) | 138 | void vtime_account_system(struct task_struct *tsk) |
139 | { | 139 | { |
140 | cputime_t delta = vtime_delta(tsk); | 140 | cputime_t delta = vtime_delta(tsk); |
141 | 141 | ||
142 | account_system_time(tsk, 0, delta, delta); | 142 | account_system_time(tsk, 0, delta, delta); |
143 | } | 143 | } |
144 | 144 | ||
145 | void __vtime_account_idle(struct task_struct *tsk) | 145 | void vtime_account_idle(struct task_struct *tsk) |
146 | { | 146 | { |
147 | account_idle_time(vtime_delta(tsk)); | 147 | account_idle_time(vtime_delta(tsk)); |
148 | } | 148 | } |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 0db456f30d45..ce4cb772dc78 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
@@ -336,7 +336,7 @@ static u64 vtime_delta(struct task_struct *tsk, | |||
336 | return delta; | 336 | return delta; |
337 | } | 337 | } |
338 | 338 | ||
339 | void __vtime_account_system(struct task_struct *tsk) | 339 | void vtime_account_system(struct task_struct *tsk) |
340 | { | 340 | { |
341 | u64 delta, sys_scaled, stolen; | 341 | u64 delta, sys_scaled, stolen; |
342 | 342 | ||
@@ -346,7 +346,7 @@ void __vtime_account_system(struct task_struct *tsk) | |||
346 | account_steal_time(stolen); | 346 | account_steal_time(stolen); |
347 | } | 347 | } |
348 | 348 | ||
349 | void __vtime_account_idle(struct task_struct *tsk) | 349 | void vtime_account_idle(struct task_struct *tsk) |
350 | { | 350 | { |
351 | u64 delta, sys_scaled, stolen; | 351 | u64 delta, sys_scaled, stolen; |
352 | 352 | ||
diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c index 783e988c4e1e..80d1dbc5d42e 100644 --- a/arch/s390/kernel/vtime.c +++ b/arch/s390/kernel/vtime.c | |||
@@ -140,9 +140,9 @@ void vtime_account(struct task_struct *tsk) | |||
140 | } | 140 | } |
141 | EXPORT_SYMBOL_GPL(vtime_account); | 141 | EXPORT_SYMBOL_GPL(vtime_account); |
142 | 142 | ||
143 | void __vtime_account_system(struct task_struct *tsk) | 143 | void vtime_account_system(struct task_struct *tsk) |
144 | __attribute__((alias("vtime_account"))); | 144 | __attribute__((alias("vtime_account"))); |
145 | EXPORT_SYMBOL_GPL(__vtime_account_system); | 145 | EXPORT_SYMBOL_GPL(vtime_account_system); |
146 | 146 | ||
147 | void __kprobes vtime_stop_cpu(void) | 147 | void __kprobes vtime_stop_cpu(void) |
148 | { | 148 | { |
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 0e2212fe4784..f17158bdd4fc 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
@@ -741,7 +741,7 @@ static inline void kvm_guest_enter(void) | |||
741 | * This is running in ioctl context so we can avoid | 741 | * This is running in ioctl context so we can avoid |
742 | * the call to vtime_account() with its unnecessary idle check. | 742 | * the call to vtime_account() with its unnecessary idle check. |
743 | */ | 743 | */ |
744 | vtime_account_system(current); | 744 | vtime_account_system_irqsafe(current); |
745 | current->flags |= PF_VCPU; | 745 | current->flags |= PF_VCPU; |
746 | /* KVM does not hold any references to rcu protected data when it | 746 | /* KVM does not hold any references to rcu protected data when it |
747 | * switches CPU into a guest mode. In fact switching to a guest mode | 747 | * switches CPU into a guest mode. In fact switching to a guest mode |
@@ -759,7 +759,7 @@ static inline void kvm_guest_exit(void) | |||
759 | * This is running in ioctl context so we can avoid | 759 | * This is running in ioctl context so we can avoid |
760 | * the call to vtime_account() with its unnecessary idle check. | 760 | * the call to vtime_account() with its unnecessary idle check. |
761 | */ | 761 | */ |
762 | vtime_account_system(current); | 762 | vtime_account_system_irqsafe(current); |
763 | current->flags &= ~PF_VCPU; | 763 | current->flags &= ~PF_VCPU; |
764 | } | 764 | } |
765 | 765 | ||
diff --git a/include/linux/vtime.h b/include/linux/vtime.h index 0c2a2d303020..5ad13c325deb 100644 --- a/include/linux/vtime.h +++ b/include/linux/vtime.h | |||
@@ -5,14 +5,14 @@ struct task_struct; | |||
5 | 5 | ||
6 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING | 6 | #ifdef CONFIG_VIRT_CPU_ACCOUNTING |
7 | extern void vtime_task_switch(struct task_struct *prev); | 7 | extern void vtime_task_switch(struct task_struct *prev); |
8 | extern void __vtime_account_system(struct task_struct *tsk); | ||
9 | extern void vtime_account_system(struct task_struct *tsk); | 8 | extern void vtime_account_system(struct task_struct *tsk); |
10 | extern void __vtime_account_idle(struct task_struct *tsk); | 9 | extern void vtime_account_system_irqsafe(struct task_struct *tsk); |
10 | extern void vtime_account_idle(struct task_struct *tsk); | ||
11 | extern void vtime_account(struct task_struct *tsk); | 11 | extern void vtime_account(struct task_struct *tsk); |
12 | #else | 12 | #else |
13 | static inline void vtime_task_switch(struct task_struct *prev) { } | 13 | static inline void vtime_task_switch(struct task_struct *prev) { } |
14 | static inline void __vtime_account_system(struct task_struct *tsk) { } | ||
15 | static inline void vtime_account_system(struct task_struct *tsk) { } | 14 | static inline void vtime_account_system(struct task_struct *tsk) { } |
15 | static inline void vtime_account_system_irqsafe(struct task_struct *tsk) { } | ||
16 | static inline void vtime_account(struct task_struct *tsk) { } | 16 | static inline void vtime_account(struct task_struct *tsk) { } |
17 | #endif | 17 | #endif |
18 | 18 | ||
@@ -40,7 +40,7 @@ static inline void vtime_account_irq_enter(struct task_struct *tsk) | |||
40 | static inline void vtime_account_irq_exit(struct task_struct *tsk) | 40 | static inline void vtime_account_irq_exit(struct task_struct *tsk) |
41 | { | 41 | { |
42 | /* On hard|softirq exit we always account to hard|softirq cputime */ | 42 | /* On hard|softirq exit we always account to hard|softirq cputime */ |
43 | __vtime_account_system(tsk); | 43 | vtime_account_system(tsk); |
44 | irqtime_account_irq(tsk); | 44 | irqtime_account_irq(tsk); |
45 | } | 45 | } |
46 | 46 | ||
diff --git a/kernel/sched/cputime.c b/kernel/sched/cputime.c index 8d859dae5bed..c0aa1ba752ea 100644 --- a/kernel/sched/cputime.c +++ b/kernel/sched/cputime.c | |||
@@ -433,20 +433,20 @@ void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *st) | |||
433 | *st = cputime.stime; | 433 | *st = cputime.stime; |
434 | } | 434 | } |
435 | 435 | ||
436 | void vtime_account_system(struct task_struct *tsk) | 436 | void vtime_account_system_irqsafe(struct task_struct *tsk) |
437 | { | 437 | { |
438 | unsigned long flags; | 438 | unsigned long flags; |
439 | 439 | ||
440 | local_irq_save(flags); | 440 | local_irq_save(flags); |
441 | __vtime_account_system(tsk); | 441 | vtime_account_system(tsk); |
442 | local_irq_restore(flags); | 442 | local_irq_restore(flags); |
443 | } | 443 | } |
444 | EXPORT_SYMBOL_GPL(vtime_account_system); | 444 | EXPORT_SYMBOL_GPL(vtime_account_system_irqsafe); |
445 | 445 | ||
446 | /* | 446 | /* |
447 | * Archs that account the whole time spent in the idle task | 447 | * Archs that account the whole time spent in the idle task |
448 | * (outside irq) as idle time can rely on this and just implement | 448 | * (outside irq) as idle time can rely on this and just implement |
449 | * __vtime_account_system() and __vtime_account_idle(). Archs that | 449 | * vtime_account_system() and vtime_account_idle(). Archs that |
450 | * have other meaning of the idle time (s390 only includes the | 450 | * have other meaning of the idle time (s390 only includes the |
451 | * time spent by the CPU when it's in low power mode) must override | 451 | * time spent by the CPU when it's in low power mode) must override |
452 | * vtime_account(). | 452 | * vtime_account(). |
@@ -459,9 +459,9 @@ void vtime_account(struct task_struct *tsk) | |||
459 | local_irq_save(flags); | 459 | local_irq_save(flags); |
460 | 460 | ||
461 | if (in_interrupt() || !is_idle_task(tsk)) | 461 | if (in_interrupt() || !is_idle_task(tsk)) |
462 | __vtime_account_system(tsk); | 462 | vtime_account_system(tsk); |
463 | else | 463 | else |
464 | __vtime_account_idle(tsk); | 464 | vtime_account_idle(tsk); |
465 | 465 | ||
466 | local_irq_restore(flags); | 466 | local_irq_restore(flags); |
467 | } | 467 | } |