|
@@ -41,19 +41,24 @@ enum tick_nohz_mode {
|
|
* @timer_expires: Anticipated timer expiration time (in case sched tick is stopped)
|
|
* @timer_expires: Anticipated timer expiration time (in case sched tick is stopped)
|
|
* @timer_expires_base: Base time clock monotonic for @timer_expires
|
|
* @timer_expires_base: Base time clock monotonic for @timer_expires
|
|
* @do_timer_lst: CPU was the last one doing do_timer before going idle
|
|
* @do_timer_lst: CPU was the last one doing do_timer before going idle
|
|
|
|
+ * @got_idle_tick: Tick timer function has run with @inidle set
|
|
*/
|
|
*/
|
|
struct tick_sched {
|
|
struct tick_sched {
|
|
struct hrtimer sched_timer;
|
|
struct hrtimer sched_timer;
|
|
unsigned long check_clocks;
|
|
unsigned long check_clocks;
|
|
enum tick_nohz_mode nohz_mode;
|
|
enum tick_nohz_mode nohz_mode;
|
|
|
|
+
|
|
|
|
+ unsigned int inidle : 1;
|
|
|
|
+ unsigned int tick_stopped : 1;
|
|
|
|
+ unsigned int idle_active : 1;
|
|
|
|
+ unsigned int do_timer_last : 1;
|
|
|
|
+ unsigned int got_idle_tick : 1;
|
|
|
|
+
|
|
ktime_t last_tick;
|
|
ktime_t last_tick;
|
|
ktime_t next_tick;
|
|
ktime_t next_tick;
|
|
- int inidle;
|
|
|
|
- int tick_stopped;
|
|
|
|
unsigned long idle_jiffies;
|
|
unsigned long idle_jiffies;
|
|
unsigned long idle_calls;
|
|
unsigned long idle_calls;
|
|
unsigned long idle_sleeps;
|
|
unsigned long idle_sleeps;
|
|
- int idle_active;
|
|
|
|
ktime_t idle_entrytime;
|
|
ktime_t idle_entrytime;
|
|
ktime_t idle_waketime;
|
|
ktime_t idle_waketime;
|
|
ktime_t idle_exittime;
|
|
ktime_t idle_exittime;
|
|
@@ -64,7 +69,6 @@ struct tick_sched {
|
|
u64 timer_expires_base;
|
|
u64 timer_expires_base;
|
|
u64 next_timer;
|
|
u64 next_timer;
|
|
ktime_t idle_expires;
|
|
ktime_t idle_expires;
|
|
- int do_timer_last;
|
|
|
|
atomic_t tick_dep_mask;
|
|
atomic_t tick_dep_mask;
|
|
};
|
|
};
|
|
|
|
|