diff options
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 78041f4c7584..9d51e260bde0 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 | ||
@@ -447,6 +447,9 @@ extern int __get_dumpable(unsigned long mm_flags); | |||
447 | #define MMF_VM_HUGEPAGE 17 /* set when VM_HUGEPAGE is set on vma */ | 447 | #define MMF_VM_HUGEPAGE 17 /* set when VM_HUGEPAGE is set on vma */ |
448 | #define MMF_EXE_FILE_CHANGED 18 /* see prctl_set_mm_exe_file() */ | 448 | #define MMF_EXE_FILE_CHANGED 18 /* see prctl_set_mm_exe_file() */ |
449 | 449 | ||
450 | #define MMF_HAS_UPROBES 19 /* has uprobes */ | ||
451 | #define MMF_RECALC_UPROBES 20 /* MMF_HAS_UPROBES can be wrong */ | ||
452 | |||
450 | #define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK) | 453 | #define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK) |
451 | 454 | ||
452 | struct sighand_struct { | 455 | struct sighand_struct { |
@@ -679,11 +682,6 @@ struct signal_struct { | |||
679 | * (notably. ptrace) */ | 682 | * (notably. ptrace) */ |
680 | }; | 683 | }; |
681 | 684 | ||
682 | /* Context switch must be unlocked if interrupts are to be enabled */ | ||
683 | #ifdef __ARCH_WANT_INTERRUPTS_ON_CTXSW | ||
684 | # define __ARCH_WANT_UNLOCKED_CTXSW | ||
685 | #endif | ||
686 | |||
687 | /* | 685 | /* |
688 | * Bits in flags field of signal_struct. | 686 | * Bits in flags field of signal_struct. |
689 | */ | 687 | */ |
@@ -861,7 +859,6 @@ enum cpu_idle_type { | |||
861 | #define SD_BALANCE_FORK 0x0008 /* Balance on fork, clone */ | 859 | #define SD_BALANCE_FORK 0x0008 /* Balance on fork, clone */ |
862 | #define SD_BALANCE_WAKE 0x0010 /* Balance on wakeup */ | 860 | #define SD_BALANCE_WAKE 0x0010 /* Balance on wakeup */ |
863 | #define SD_WAKE_AFFINE 0x0020 /* Wake task to waking CPU */ | 861 | #define SD_WAKE_AFFINE 0x0020 /* Wake task to waking CPU */ |
864 | #define SD_PREFER_LOCAL 0x0040 /* Prefer to keep tasks local to this domain */ | ||
865 | #define SD_SHARE_CPUPOWER 0x0080 /* Domain members share cpu power */ | 862 | #define SD_SHARE_CPUPOWER 0x0080 /* Domain members share cpu power */ |
866 | #define SD_SHARE_PKG_RESOURCES 0x0200 /* Domain members share cpu pkg resources */ | 863 | #define SD_SHARE_PKG_RESOURCES 0x0200 /* Domain members share cpu pkg resources */ |
867 | #define SD_SERIALIZE 0x0400 /* Only a single load balancing instance */ | 864 | #define SD_SERIALIZE 0x0400 /* Only a single load balancing instance */ |
@@ -1418,7 +1415,7 @@ struct task_struct { | |||
1418 | 1415 | ||
1419 | struct audit_context *audit_context; | 1416 | struct audit_context *audit_context; |
1420 | #ifdef CONFIG_AUDITSYSCALL | 1417 | #ifdef CONFIG_AUDITSYSCALL |
1421 | uid_t loginuid; | 1418 | kuid_t loginuid; |
1422 | unsigned int sessionid; | 1419 | unsigned int sessionid; |
1423 | #endif | 1420 | #endif |
1424 | struct seccomp seccomp; | 1421 | struct seccomp seccomp; |
@@ -1530,6 +1527,9 @@ struct task_struct { | |||
1530 | * cache last used pipe for splice | 1527 | * cache last used pipe for splice |
1531 | */ | 1528 | */ |
1532 | struct pipe_inode_info *splice_pipe; | 1529 | struct pipe_inode_info *splice_pipe; |
1530 | |||
1531 | struct page_frag task_frag; | ||
1532 | |||
1533 | #ifdef CONFIG_TASK_DELAY_ACCT | 1533 | #ifdef CONFIG_TASK_DELAY_ACCT |
1534 | struct task_delay_info *delays; | 1534 | struct task_delay_info *delays; |
1535 | #endif | 1535 | #endif |
@@ -1886,6 +1886,14 @@ static inline void rcu_copy_process(struct task_struct *p) | |||
1886 | 1886 | ||
1887 | #endif | 1887 | #endif |
1888 | 1888 | ||
1889 | static inline void rcu_switch(struct task_struct *prev, | ||
1890 | struct task_struct *next) | ||
1891 | { | ||
1892 | #ifdef CONFIG_RCU_USER_QS | ||
1893 | rcu_user_hooks_switch(prev, next); | ||
1894 | #endif | ||
1895 | } | ||
1896 | |||
1889 | static inline void tsk_restore_flags(struct task_struct *task, | 1897 | static inline void tsk_restore_flags(struct task_struct *task, |
1890 | unsigned long orig_flags, unsigned long flags) | 1898 | unsigned long orig_flags, unsigned long flags) |
1891 | { | 1899 | { |