aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h26
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);
273extern int runqueue_is_locked(int cpu); 273extern 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)
276extern void select_nohz_load_balancer(int stop_tick); 276extern void nohz_balance_enter_idle(int cpu);
277extern void set_cpu_sd_state_idle(void); 277extern void set_cpu_sd_state_idle(void);
278extern int get_nohz_timer_target(void); 278extern int get_nohz_timer_target(void);
279#else 279#else
280static inline void select_nohz_load_balancer(int stop_tick) { } 280static inline void nohz_balance_enter_idle(int cpu) { }
281static inline void set_cpu_sd_state_idle(void) { } 281static 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
452struct sighand_struct { 455struct 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
1889static 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
1889static inline void tsk_restore_flags(struct task_struct *task, 1897static 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{