rcu: Track idleness independent of idle tasks
[cascardo/linux.git] / include / linux / tick.h
index b232ccc..ca40838 100644 (file)
@@ -127,8 +127,15 @@ extern ktime_t tick_nohz_get_sleep_length(void);
 extern u64 get_cpu_idle_time_us(int cpu, u64 *last_update_time);
 extern u64 get_cpu_iowait_time_us(int cpu, u64 *last_update_time);
 # else
-static inline void tick_nohz_stop_sched_tick(int inidle) { }
-static inline void tick_nohz_restart_sched_tick(void) { }
+static inline void tick_nohz_stop_sched_tick(int inidle)
+{
+       if (inidle)
+               rcu_idle_enter();
+}
+static inline void tick_nohz_restart_sched_tick(void)
+{
+       rcu_idle_exit();
+}
 static inline ktime_t tick_nohz_get_sleep_length(void)
 {
        ktime_t len = { .tv64 = NSEC_PER_SEC/HZ };