aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2010-11-18 07:22:14 -0500
committerIngo Molnar <mingo@elte.hu>2010-11-18 07:22:26 -0500
commit92fd4d4d67b945c0766416284d4ab236b31542c4 (patch)
tree00b8b5f90748f752ccaba3dddbe271091d93543a /include/linux/sched.h
parentfe7de49f9d4e53f24ec9ef762a503f70b562341c (diff)
parente53beacd23d9cb47590da6a7a7f6d417b941a994 (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.h25
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;
336extern int proc_dohung_task_timeout_secs(struct ctl_table *table, int write, 336extern 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 */
341enum { 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
2238extern struct sighand_struct *lock_task_sighand(struct task_struct *tsk, 2244extern 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
2241static inline void unlock_task_sighand(struct task_struct *tsk, 2254static inline void unlock_task_sighand(struct task_struct *tsk,
2242 unsigned long *flags) 2255 unsigned long *flags)
2243{ 2256{