diff options
Diffstat (limited to 'include/linux/sched.h')
| -rw-r--r-- | include/linux/sched.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index b8c86648a2f9..765dffbb085e 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -273,11 +273,11 @@ extern void init_idle_bootup_task(struct task_struct *idle); | |||
| 273 | extern int runqueue_is_locked(int cpu); | 273 | extern int runqueue_is_locked(int cpu); |
| 274 | 274 | ||
| 275 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ) | 275 | #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ) |
| 276 | extern void select_nohz_load_balancer(int stop_tick); | 276 | extern void nohz_balance_enter_idle(int cpu); |
| 277 | extern void set_cpu_sd_state_idle(void); | 277 | extern void set_cpu_sd_state_idle(void); |
| 278 | extern int get_nohz_timer_target(void); | 278 | extern int get_nohz_timer_target(void); |
| 279 | #else | 279 | #else |
| 280 | static inline void select_nohz_load_balancer(int stop_tick) { } | 280 | static inline void nohz_balance_enter_idle(int cpu) { } |
| 281 | static inline void set_cpu_sd_state_idle(void) { } | 281 | static inline void set_cpu_sd_state_idle(void) { } |
| 282 | #endif | 282 | #endif |
| 283 | 283 | ||
| @@ -446,6 +446,9 @@ extern int get_dumpable(struct mm_struct *mm); | |||
| 446 | #define MMF_VM_HUGEPAGE 17 /* set when VM_HUGEPAGE is set on vma */ | 446 | #define MMF_VM_HUGEPAGE 17 /* set when VM_HUGEPAGE is set on vma */ |
| 447 | #define MMF_EXE_FILE_CHANGED 18 /* see prctl_set_mm_exe_file() */ | 447 | #define MMF_EXE_FILE_CHANGED 18 /* see prctl_set_mm_exe_file() */ |
| 448 | 448 | ||
| 449 | #define MMF_HAS_UPROBES 19 /* has uprobes */ | ||
| 450 | #define MMF_RECALC_UPROBES 20 /* MMF_HAS_UPROBES can be wrong */ | ||
| 451 | |||
| 449 | #define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK) | 452 | #define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK) |
| 450 | 453 | ||
| 451 | struct sighand_struct { | 454 | struct sighand_struct { |
| @@ -678,11 +681,6 @@ struct signal_struct { | |||
| 678 | * (notably. ptrace) */ | 681 | * (notably. ptrace) */ |
| 679 | }; | 682 | }; |
| 680 | 683 | ||
| 681 | /* Context switch must be unlocked if interrupts are to be enabled */ | ||
| 682 | #ifdef __ARCH_WANT_INTERRUPTS_ON_CTXSW | ||
| 683 | # define __ARCH_WANT_UNLOCKED_CTXSW | ||
| 684 | #endif | ||
| 685 | |||
| 686 | /* | 684 | /* |
| 687 | * Bits in flags field of signal_struct. | 685 | * Bits in flags field of signal_struct. |
| 688 | */ | 686 | */ |
| @@ -860,7 +858,6 @@ enum cpu_idle_type { | |||
| 860 | #define SD_BALANCE_FORK 0x0008 /* Balance on fork, clone */ | 858 | #define SD_BALANCE_FORK 0x0008 /* Balance on fork, clone */ |
| 861 | #define SD_BALANCE_WAKE 0x0010 /* Balance on wakeup */ | 859 | #define SD_BALANCE_WAKE 0x0010 /* Balance on wakeup */ |
| 862 | #define SD_WAKE_AFFINE 0x0020 /* Wake task to waking CPU */ | 860 | #define SD_WAKE_AFFINE 0x0020 /* Wake task to waking CPU */ |
| 863 | #define SD_PREFER_LOCAL 0x0040 /* Prefer to keep tasks local to this domain */ | ||
| 864 | #define SD_SHARE_CPUPOWER 0x0080 /* Domain members share cpu power */ | 861 | #define SD_SHARE_CPUPOWER 0x0080 /* Domain members share cpu power */ |
| 865 | #define SD_SHARE_PKG_RESOURCES 0x0200 /* Domain members share cpu pkg resources */ | 862 | #define SD_SHARE_PKG_RESOURCES 0x0200 /* Domain members share cpu pkg resources */ |
| 866 | #define SD_SERIALIZE 0x0400 /* Only a single load balancing instance */ | 863 | #define SD_SERIALIZE 0x0400 /* Only a single load balancing instance */ |
| @@ -954,7 +951,6 @@ struct sched_domain { | |||
| 954 | unsigned int smt_gain; | 951 | unsigned int smt_gain; |
| 955 | int flags; /* See SD_* */ | 952 | int flags; /* See SD_* */ |
| 956 | int level; | 953 | int level; |
| 957 | int idle_buddy; /* cpu assigned to select_idle_sibling() */ | ||
| 958 | 954 | ||
| 959 | /* Runtime fields. */ | 955 | /* Runtime fields. */ |
| 960 | unsigned long last_balance; /* init to jiffies. units in jiffies */ | 956 | unsigned long last_balance; /* init to jiffies. units in jiffies */ |
| @@ -1886,6 +1882,14 @@ static inline void rcu_copy_process(struct task_struct *p) | |||
| 1886 | 1882 | ||
| 1887 | #endif | 1883 | #endif |
| 1888 | 1884 | ||
| 1885 | static inline void rcu_switch(struct task_struct *prev, | ||
| 1886 | struct task_struct *next) | ||
| 1887 | { | ||
| 1888 | #ifdef CONFIG_RCU_USER_QS | ||
| 1889 | rcu_user_hooks_switch(prev, next); | ||
| 1890 | #endif | ||
| 1891 | } | ||
| 1892 | |||
| 1889 | static inline void tsk_restore_flags(struct task_struct *task, | 1893 | static inline void tsk_restore_flags(struct task_struct *task, |
| 1890 | unsigned long orig_flags, unsigned long flags) | 1894 | unsigned long orig_flags, unsigned long flags) |
| 1891 | { | 1895 | { |
