diff options
Diffstat (limited to 'include/linux/init_task.h')
| -rw-r--r-- | include/linux/init_task.h | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 6d087c5f57f..d14e058aaee 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
| @@ -23,17 +23,11 @@ extern struct files_struct init_files; | |||
| 23 | extern struct fs_struct init_fs; | 23 | extern struct fs_struct init_fs; |
| 24 | 24 | ||
| 25 | #ifdef CONFIG_CGROUPS | 25 | #ifdef CONFIG_CGROUPS |
| 26 | #define INIT_GROUP_RWSEM(sig) \ | 26 | #define INIT_THREADGROUP_FORK_LOCK(sig) \ |
| 27 | .group_rwsem = __RWSEM_INITIALIZER(sig.group_rwsem), | 27 | .threadgroup_fork_lock = \ |
| 28 | __RWSEM_INITIALIZER(sig.threadgroup_fork_lock), | ||
| 28 | #else | 29 | #else |
| 29 | #define INIT_GROUP_RWSEM(sig) | 30 | #define INIT_THREADGROUP_FORK_LOCK(sig) |
| 30 | #endif | ||
| 31 | |||
| 32 | #ifdef CONFIG_CPUSETS | ||
| 33 | #define INIT_CPUSET_SEQ \ | ||
| 34 | .mems_allowed_seq = SEQCNT_ZERO, | ||
| 35 | #else | ||
| 36 | #define INIT_CPUSET_SEQ | ||
| 37 | #endif | 31 | #endif |
| 38 | 32 | ||
| 39 | #define INIT_SIGNALS(sig) { \ | 33 | #define INIT_SIGNALS(sig) { \ |
| @@ -48,11 +42,11 @@ extern struct fs_struct init_fs; | |||
| 48 | .cputimer = { \ | 42 | .cputimer = { \ |
| 49 | .cputime = INIT_CPUTIME, \ | 43 | .cputime = INIT_CPUTIME, \ |
| 50 | .running = 0, \ | 44 | .running = 0, \ |
| 51 | .lock = __RAW_SPIN_LOCK_UNLOCKED(sig.cputimer.lock), \ | 45 | .lock = __SPIN_LOCK_UNLOCKED(sig.cputimer.lock), \ |
| 52 | }, \ | 46 | }, \ |
| 53 | .cred_guard_mutex = \ | 47 | .cred_guard_mutex = \ |
| 54 | __MUTEX_INITIALIZER(sig.cred_guard_mutex), \ | 48 | __MUTEX_INITIALIZER(sig.cred_guard_mutex), \ |
| 55 | INIT_GROUP_RWSEM(sig) \ | 49 | INIT_THREADGROUP_FORK_LOCK(sig) \ |
| 56 | } | 50 | } |
| 57 | 51 | ||
| 58 | extern struct nsproxy init_nsproxy; | 52 | extern struct nsproxy init_nsproxy; |
| @@ -92,7 +86,7 @@ extern struct group_info init_groups; | |||
| 92 | 86 | ||
| 93 | #ifdef CONFIG_AUDITSYSCALL | 87 | #ifdef CONFIG_AUDITSYSCALL |
| 94 | #define INIT_IDS \ | 88 | #define INIT_IDS \ |
| 95 | .loginuid = INVALID_UID, \ | 89 | .loginuid = -1, \ |
| 96 | .sessionid = -1, | 90 | .sessionid = -1, |
| 97 | #else | 91 | #else |
| 98 | #define INIT_IDS | 92 | #define INIT_IDS |
| @@ -123,17 +117,8 @@ extern struct group_info init_groups; | |||
| 123 | 117 | ||
| 124 | extern struct cred init_cred; | 118 | extern struct cred init_cred; |
| 125 | 119 | ||
| 126 | extern struct task_group root_task_group; | ||
| 127 | |||
| 128 | #ifdef CONFIG_CGROUP_SCHED | ||
| 129 | # define INIT_CGROUP_SCHED(tsk) \ | ||
| 130 | .sched_task_group = &root_task_group, | ||
| 131 | #else | ||
| 132 | # define INIT_CGROUP_SCHED(tsk) | ||
| 133 | #endif | ||
| 134 | |||
| 135 | #ifdef CONFIG_PERF_EVENTS | 120 | #ifdef CONFIG_PERF_EVENTS |
| 136 | # define INIT_PERF_EVENTS(tsk) \ | 121 | # define INIT_PERF_EVENTS(tsk) \ |
| 137 | .perf_event_mutex = \ | 122 | .perf_event_mutex = \ |
| 138 | __MUTEX_INITIALIZER(tsk.perf_event_mutex), \ | 123 | __MUTEX_INITIALIZER(tsk.perf_event_mutex), \ |
| 139 | .perf_event_list = LIST_HEAD_INIT(tsk.perf_event_list), | 124 | .perf_event_list = LIST_HEAD_INIT(tsk.perf_event_list), |
| @@ -141,8 +126,6 @@ extern struct task_group root_task_group; | |||
| 141 | # define INIT_PERF_EVENTS(tsk) | 126 | # define INIT_PERF_EVENTS(tsk) |
| 142 | #endif | 127 | #endif |
| 143 | 128 | ||
| 144 | #define INIT_TASK_COMM "swapper" | ||
| 145 | |||
| 146 | /* | 129 | /* |
| 147 | * INIT_TASK is used to set up the first task table, touch at | 130 | * INIT_TASK is used to set up the first task table, touch at |
| 148 | * your own risk!. Base=0, limit=0x1fffff (=2MB) | 131 | * your own risk!. Base=0, limit=0x1fffff (=2MB) |
| @@ -158,7 +141,6 @@ extern struct task_group root_task_group; | |||
| 158 | .normal_prio = MAX_PRIO-20, \ | 141 | .normal_prio = MAX_PRIO-20, \ |
| 159 | .policy = SCHED_NORMAL, \ | 142 | .policy = SCHED_NORMAL, \ |
| 160 | .cpus_allowed = CPU_MASK_ALL, \ | 143 | .cpus_allowed = CPU_MASK_ALL, \ |
| 161 | .nr_cpus_allowed= NR_CPUS, \ | ||
| 162 | .mm = NULL, \ | 144 | .mm = NULL, \ |
| 163 | .active_mm = &init_mm, \ | 145 | .active_mm = &init_mm, \ |
| 164 | .se = { \ | 146 | .se = { \ |
| @@ -166,11 +148,11 @@ extern struct task_group root_task_group; | |||
| 166 | }, \ | 148 | }, \ |
| 167 | .rt = { \ | 149 | .rt = { \ |
| 168 | .run_list = LIST_HEAD_INIT(tsk.rt.run_list), \ | 150 | .run_list = LIST_HEAD_INIT(tsk.rt.run_list), \ |
| 169 | .time_slice = RR_TIMESLICE, \ | 151 | .time_slice = HZ, \ |
| 152 | .nr_cpus_allowed = NR_CPUS, \ | ||
| 170 | }, \ | 153 | }, \ |
| 171 | .tasks = LIST_HEAD_INIT(tsk.tasks), \ | 154 | .tasks = LIST_HEAD_INIT(tsk.tasks), \ |
| 172 | INIT_PUSHABLE_TASKS(tsk) \ | 155 | INIT_PUSHABLE_TASKS(tsk) \ |
| 173 | INIT_CGROUP_SCHED(tsk) \ | ||
| 174 | .ptraced = LIST_HEAD_INIT(tsk.ptraced), \ | 156 | .ptraced = LIST_HEAD_INIT(tsk.ptraced), \ |
| 175 | .ptrace_entry = LIST_HEAD_INIT(tsk.ptrace_entry), \ | 157 | .ptrace_entry = LIST_HEAD_INIT(tsk.ptrace_entry), \ |
| 176 | .real_parent = &tsk, \ | 158 | .real_parent = &tsk, \ |
| @@ -178,9 +160,9 @@ extern struct task_group root_task_group; | |||
| 178 | .children = LIST_HEAD_INIT(tsk.children), \ | 160 | .children = LIST_HEAD_INIT(tsk.children), \ |
| 179 | .sibling = LIST_HEAD_INIT(tsk.sibling), \ | 161 | .sibling = LIST_HEAD_INIT(tsk.sibling), \ |
| 180 | .group_leader = &tsk, \ | 162 | .group_leader = &tsk, \ |
| 181 | RCU_POINTER_INITIALIZER(real_cred, &init_cred), \ | 163 | RCU_INIT_POINTER(.real_cred, &init_cred), \ |
| 182 | RCU_POINTER_INITIALIZER(cred, &init_cred), \ | 164 | RCU_INIT_POINTER(.cred, &init_cred), \ |
| 183 | .comm = INIT_TASK_COMM, \ | 165 | .comm = "swapper", \ |
| 184 | .thread = INIT_THREAD, \ | 166 | .thread = INIT_THREAD, \ |
| 185 | .fs = &init_fs, \ | 167 | .fs = &init_fs, \ |
| 186 | .files = &init_files, \ | 168 | .files = &init_files, \ |
| @@ -202,6 +184,7 @@ extern struct task_group root_task_group; | |||
| 202 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ | 184 | [PIDTYPE_SID] = INIT_PID_LINK(PIDTYPE_SID), \ |
| 203 | }, \ | 185 | }, \ |
| 204 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ | 186 | .thread_group = LIST_HEAD_INIT(tsk.thread_group), \ |
| 187 | .dirties = INIT_PROP_LOCAL_SINGLE(dirties), \ | ||
| 205 | INIT_IDS \ | 188 | INIT_IDS \ |
| 206 | INIT_PERF_EVENTS(tsk) \ | 189 | INIT_PERF_EVENTS(tsk) \ |
| 207 | INIT_TRACE_IRQFLAGS \ | 190 | INIT_TRACE_IRQFLAGS \ |
| @@ -209,7 +192,6 @@ extern struct task_group root_task_group; | |||
| 209 | INIT_FTRACE_GRAPH \ | 192 | INIT_FTRACE_GRAPH \ |
| 210 | INIT_TRACE_RECURSION \ | 193 | INIT_TRACE_RECURSION \ |
| 211 | INIT_TASK_RCU_PREEMPT(tsk) \ | 194 | INIT_TASK_RCU_PREEMPT(tsk) \ |
| 212 | INIT_CPUSET_SEQ \ | ||
| 213 | } | 195 | } |
| 214 | 196 | ||
| 215 | 197 | ||
