aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2013-12-04 12:28:20 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2014-01-15 17:05:31 -0500
commit5acac1be499d979e3aa463ea73a498888faefcbe (patch)
tree5b3b38301cdeabe8d2efc77dbe743e6b7b23fea2
parent1b3f82876006bd4172ca7696aa367baf96ec7c15 (diff)
tick: Rename tick_check_idle() to tick_irq_enter()
This makes the code more symetric against the existing tick functions called on irq exit: tick_irq_exit() and tick_nohz_irq_exit(). These function are also symetric as they mirror each other's action: we start to account idle time on irq exit and we stop this accounting on irq entry. Also the tick is stopped on irq exit and timekeeping catches up with the tickless time elapsed until we reach irq entry. This rename was suggested by Peter Zijlstra a long while ago but it got forgotten in the mass. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Alex Shi <alex.shi@linaro.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: John Stultz <john.stultz@linaro.org> Cc: Kevin Hilman <khilman@linaro.org> Link: http://lkml.kernel.org/r/1387320692-28460-2-git-send-email-fweisbec@gmail.com Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
-rw-r--r--include/linux/tick.h6
-rw-r--r--kernel/softirq.c2
-rw-r--r--kernel/time/tick-sched.c8
3 files changed, 8 insertions, 8 deletions
diff --git a/include/linux/tick.h b/include/linux/tick.h
index 0175d8663b6c..b84773cb9f4c 100644
--- a/include/linux/tick.h
+++ b/include/linux/tick.h
@@ -104,7 +104,7 @@ extern struct cpumask *tick_get_broadcast_oneshot_mask(void);
104extern void tick_clock_notify(void); 104extern void tick_clock_notify(void);
105extern int tick_check_oneshot_change(int allow_nohz); 105extern int tick_check_oneshot_change(int allow_nohz);
106extern struct tick_sched *tick_get_tick_sched(int cpu); 106extern struct tick_sched *tick_get_tick_sched(int cpu);
107extern void tick_check_idle(void); 107extern void tick_irq_enter(void);
108extern int tick_oneshot_mode_active(void); 108extern int tick_oneshot_mode_active(void);
109# ifndef arch_needs_cpu 109# ifndef arch_needs_cpu
110# define arch_needs_cpu(cpu) (0) 110# define arch_needs_cpu(cpu) (0)
@@ -112,7 +112,7 @@ extern int tick_oneshot_mode_active(void);
112# else 112# else
113static inline void tick_clock_notify(void) { } 113static inline void tick_clock_notify(void) { }
114static inline int tick_check_oneshot_change(int allow_nohz) { return 0; } 114static inline int tick_check_oneshot_change(int allow_nohz) { return 0; }
115static inline void tick_check_idle(void) { } 115static inline void tick_irq_enter(void) { }
116static inline int tick_oneshot_mode_active(void) { return 0; } 116static inline int tick_oneshot_mode_active(void) { return 0; }
117# endif 117# endif
118 118
@@ -121,7 +121,7 @@ static inline void tick_init(void) { }
121static inline void tick_cancel_sched_timer(int cpu) { } 121static inline void tick_cancel_sched_timer(int cpu) { }
122static inline void tick_clock_notify(void) { } 122static inline void tick_clock_notify(void) { }
123static inline int tick_check_oneshot_change(int allow_nohz) { return 0; } 123static inline int tick_check_oneshot_change(int allow_nohz) { return 0; }
124static inline void tick_check_idle(void) { } 124static inline void tick_irq_enter(void) { }
125static inline int tick_oneshot_mode_active(void) { return 0; } 125static inline int tick_oneshot_mode_active(void) { return 0; }
126#endif /* !CONFIG_GENERIC_CLOCKEVENTS */ 126#endif /* !CONFIG_GENERIC_CLOCKEVENTS */
127 127
diff --git a/kernel/softirq.c b/kernel/softirq.c
index 11348de09400..ca9cb35a96d4 100644
--- a/kernel/softirq.c
+++ b/kernel/softirq.c
@@ -318,7 +318,7 @@ void irq_enter(void)
318 * here, as softirq will be serviced on return from interrupt. 318 * here, as softirq will be serviced on return from interrupt.
319 */ 319 */
320 local_bh_disable(); 320 local_bh_disable();
321 tick_check_idle(); 321 tick_irq_enter();
322 _local_bh_enable(); 322 _local_bh_enable();
323 } 323 }
324 324
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 0ddd020bbaf2..e4d0f093061f 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -1023,7 +1023,7 @@ static void tick_nohz_kick_tick(struct tick_sched *ts, ktime_t now)
1023#endif 1023#endif
1024} 1024}
1025 1025
1026static inline void tick_check_nohz_this_cpu(void) 1026static inline void tick_nohz_irq_enter(void)
1027{ 1027{
1028 struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched); 1028 struct tick_sched *ts = &__get_cpu_var(tick_cpu_sched);
1029 ktime_t now; 1029 ktime_t now;
@@ -1042,17 +1042,17 @@ static inline void tick_check_nohz_this_cpu(void)
1042#else 1042#else
1043 1043
1044static inline void tick_nohz_switch_to_nohz(void) { } 1044static inline void tick_nohz_switch_to_nohz(void) { }
1045static inline void tick_check_nohz_this_cpu(void) { } 1045static inline void tick_nohz_irq_enter(void) { }
1046 1046
1047#endif /* CONFIG_NO_HZ_COMMON */ 1047#endif /* CONFIG_NO_HZ_COMMON */
1048 1048
1049/* 1049/*
1050 * Called from irq_enter to notify about the possible interruption of idle() 1050 * Called from irq_enter to notify about the possible interruption of idle()
1051 */ 1051 */
1052void tick_check_idle(void) 1052void tick_irq_enter(void)
1053{ 1053{
1054 tick_check_oneshot_broadcast_this_cpu(); 1054 tick_check_oneshot_broadcast_this_cpu();
1055 tick_check_nohz_this_cpu(); 1055 tick_nohz_irq_enter();
1056} 1056}
1057 1057
1058/* 1058/*