aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index 6ce1952eea7d..8521d10fbb27 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -817,7 +817,7 @@ unsigned long next_timer_interrupt(void)
817#endif 817#endif
818 818
819/* 819/*
820 * Called from the timer interrupt handler to charge one tick to the current 820 * Called from the timer interrupt handler to charge one tick to the current
821 * process. user_tick is 1 if the tick is user time, 0 for system. 821 * process. user_tick is 1 if the tick is user time, 0 for system.
822 */ 822 */
823void update_process_times(int user_tick) 823void update_process_times(int user_tick)
@@ -826,10 +826,13 @@ void update_process_times(int user_tick)
826 int cpu = smp_processor_id(); 826 int cpu = smp_processor_id();
827 827
828 /* Note: this timer irq context must be accounted for as well. */ 828 /* Note: this timer irq context must be accounted for as well. */
829 if (user_tick) 829 if (user_tick) {
830 account_user_time(p, jiffies_to_cputime(1)); 830 account_user_time(p, jiffies_to_cputime(1));
831 else 831 account_user_time_scaled(p, jiffies_to_cputime(1));
832 } else {
832 account_system_time(p, HARDIRQ_OFFSET, jiffies_to_cputime(1)); 833 account_system_time(p, HARDIRQ_OFFSET, jiffies_to_cputime(1));
834 account_system_time_scaled(p, jiffies_to_cputime(1));
835 }
833 run_local_timers(); 836 run_local_timers();
834 if (rcu_pending(cpu)) 837 if (rcu_pending(cpu))
835 rcu_check_callbacks(cpu, user_tick); 838 rcu_check_callbacks(cpu, user_tick);