diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-11-18 07:22:14 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-11-18 07:22:26 -0500 |
commit | 92fd4d4d67b945c0766416284d4ab236b31542c4 (patch) | |
tree | 00b8b5f90748f752ccaba3dddbe271091d93543a /include/linux/sched.h | |
parent | fe7de49f9d4e53f24ec9ef762a503f70b562341c (diff) | |
parent | e53beacd23d9cb47590da6a7a7f6d417b941a994 (diff) |
Merge commit 'v2.6.37-rc2' into sched/core
Merge reason: Move to a .37-rc base.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 849c8670583d..3cd70cf91fde 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -336,6 +336,9 @@ extern unsigned long sysctl_hung_task_warnings; | |||
336 | extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write, | 336 | extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write, |
337 | void __user *buffer, | 337 | void __user *buffer, |
338 | size_t *lenp, loff_t *ppos); | 338 | size_t *lenp, loff_t *ppos); |
339 | #else | ||
340 | /* Avoid need for ifdefs elsewhere in the code */ | ||
341 | enum { sysctl_hung_task_timeout_secs = 0 }; | ||
339 | #endif | 342 | #endif |
340 | 343 | ||
341 | /* Attach to any functions which should be ignored in wchan output. */ | 344 | /* Attach to any functions which should be ignored in wchan output. */ |
@@ -623,6 +626,10 @@ struct signal_struct { | |||
623 | 626 | ||
624 | int oom_adj; /* OOM kill score adjustment (bit shift) */ | 627 | int oom_adj; /* OOM kill score adjustment (bit shift) */ |
625 | int oom_score_adj; /* OOM kill score adjustment */ | 628 | int oom_score_adj; /* OOM kill score adjustment */ |
629 | |||
630 | struct mutex cred_guard_mutex; /* guard against foreign influences on | ||
631 | * credential calculations | ||
632 | * (notably. ptrace) */ | ||
626 | }; | 633 | }; |
627 | 634 | ||
628 | /* Context switch must be unlocked if interrupts are to be enabled */ | 635 | /* Context switch must be unlocked if interrupts are to be enabled */ |
@@ -665,6 +672,9 @@ struct user_struct { | |||
665 | atomic_t inotify_watches; /* How many inotify watches does this user have? */ | 672 | atomic_t inotify_watches; /* How many inotify watches does this user have? */ |
666 | atomic_t inotify_devs; /* How many inotify devs does this user have opened? */ | 673 | atomic_t inotify_devs; /* How many inotify devs does this user have opened? */ |
667 | #endif | 674 | #endif |
675 | #ifdef CONFIG_FANOTIFY | ||
676 | atomic_t fanotify_listeners; | ||
677 | #endif | ||
668 | #ifdef CONFIG_EPOLL | 678 | #ifdef CONFIG_EPOLL |
669 | atomic_t epoll_watches; /* The number of file descriptors currently watched */ | 679 | atomic_t epoll_watches; /* The number of file descriptors currently watched */ |
670 | #endif | 680 | #endif |
@@ -1073,7 +1083,7 @@ struct sched_class { | |||
1073 | struct task_struct *task); | 1083 | struct task_struct *task); |
1074 | 1084 | ||
1075 | #ifdef CONFIG_FAIR_GROUP_SCHED | 1085 | #ifdef CONFIG_FAIR_GROUP_SCHED |
1076 | void (*moved_group) (struct task_struct *p, int on_rq); | 1086 | void (*task_move_group) (struct task_struct *p, int on_rq); |
1077 | #endif | 1087 | #endif |
1078 | }; | 1088 | }; |
1079 | 1089 | ||
@@ -1302,9 +1312,6 @@ struct task_struct { | |||
1302 | * credentials (COW) */ | 1312 | * credentials (COW) */ |
1303 | const struct cred __rcu *cred; /* effective (overridable) subjective task | 1313 | const struct cred __rcu *cred; /* effective (overridable) subjective task |
1304 | * credentials (COW) */ | 1314 | * credentials (COW) */ |
1305 | struct mutex cred_guard_mutex; /* guard against foreign influences on | ||
1306 | * credential calculations | ||
1307 | * (notably. ptrace) */ | ||
1308 | struct cred *replacement_session_keyring; /* for KEYCTL_SESSION_TO_PARENT */ | 1315 | struct cred *replacement_session_keyring; /* for KEYCTL_SESSION_TO_PARENT */ |
1309 | 1316 | ||
1310 | char comm[TASK_COMM_LEN]; /* executable name excluding path | 1317 | char comm[TASK_COMM_LEN]; /* executable name excluding path |
@@ -1703,7 +1710,6 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * | |||
1703 | #define PF_DUMPCORE 0x00000200 /* dumped core */ | 1710 | #define PF_DUMPCORE 0x00000200 /* dumped core */ |
1704 | #define PF_SIGNALED 0x00000400 /* killed by a signal */ | 1711 | #define PF_SIGNALED 0x00000400 /* killed by a signal */ |
1705 | #define PF_MEMALLOC 0x00000800 /* Allocating memory */ | 1712 | #define PF_MEMALLOC 0x00000800 /* Allocating memory */ |
1706 | #define PF_FLUSHER 0x00001000 /* responsible for disk writeback */ | ||
1707 | #define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */ | 1713 | #define PF_USED_MATH 0x00002000 /* if unset the fpu must be initialized before use */ |
1708 | #define PF_FREEZING 0x00004000 /* freeze in progress. do not account to load */ | 1714 | #define PF_FREEZING 0x00004000 /* freeze in progress. do not account to load */ |
1709 | #define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */ | 1715 | #define PF_NOFREEZE 0x00008000 /* this thread should not be frozen */ |
@@ -2235,9 +2241,16 @@ static inline void task_unlock(struct task_struct *p) | |||
2235 | spin_unlock(&p->alloc_lock); | 2241 | spin_unlock(&p->alloc_lock); |
2236 | } | 2242 | } |
2237 | 2243 | ||
2238 | extern struct sighand_struct *lock_task_sighand(struct task_struct *tsk, | 2244 | extern struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, |
2239 | unsigned long *flags); | 2245 | unsigned long *flags); |
2240 | 2246 | ||
2247 | #define lock_task_sighand(tsk, flags) \ | ||
2248 | ({ struct sighand_struct *__ss; \ | ||
2249 | __cond_lock(&(tsk)->sighand->siglock, \ | ||
2250 | (__ss = __lock_task_sighand(tsk, flags))); \ | ||
2251 | __ss; \ | ||
2252 | }) \ | ||
2253 | |||
2241 | static inline void unlock_task_sighand(struct task_struct *tsk, | 2254 | static inline void unlock_task_sighand(struct task_struct *tsk, |
2242 | unsigned long *flags) | 2255 | unsigned long *flags) |
2243 | { | 2256 | { |