linux/include/linux/sched/nohz.h
<<
>>
Prefs
   1#ifndef _LINUX_SCHED_NOHZ_H
   2#define _LINUX_SCHED_NOHZ_H
   3
   4/*
   5 * This is the interface between the scheduler and nohz/dynticks:
   6 */
   7
   8#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
   9extern void cpu_load_update_nohz_start(void);
  10extern void cpu_load_update_nohz_stop(void);
  11#else
  12static inline void cpu_load_update_nohz_start(void) { }
  13static inline void cpu_load_update_nohz_stop(void) { }
  14#endif
  15
  16#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
  17extern void nohz_balance_enter_idle(int cpu);
  18extern void set_cpu_sd_state_idle(void);
  19extern int get_nohz_timer_target(void);
  20#else
  21static inline void nohz_balance_enter_idle(int cpu) { }
  22static inline void set_cpu_sd_state_idle(void) { }
  23#endif
  24
  25#ifdef CONFIG_NO_HZ_COMMON
  26void calc_load_nohz_start(void);
  27void calc_load_nohz_stop(void);
  28#else
  29static inline void calc_load_nohz_start(void) { }
  30static inline void calc_load_nohz_stop(void) { }
  31#endif /* CONFIG_NO_HZ_COMMON */
  32
  33#if defined(CONFIG_NO_HZ_COMMON) && defined(CONFIG_SMP)
  34extern void wake_up_nohz_cpu(int cpu);
  35#else
  36static inline void wake_up_nohz_cpu(int cpu) { }
  37#endif
  38
  39#ifdef CONFIG_NO_HZ_FULL
  40extern u64 scheduler_tick_max_deferment(void);
  41#endif
  42
  43#endif /* _LINUX_SCHED_NOHZ_H */
  44