diff options
Diffstat (limited to 'include/linux/init_task.h')
| -rw-r--r-- | include/linux/init_task.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index 2bb4c4f3531a..3037fc085e8e 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
| @@ -102,7 +102,7 @@ extern struct group_info init_groups; | |||
| 102 | #define INIT_IDS | 102 | #define INIT_IDS |
| 103 | #endif | 103 | #endif |
| 104 | 104 | ||
| 105 | #ifdef CONFIG_TREE_PREEMPT_RCU | 105 | #ifdef CONFIG_PREEMPT_RCU |
| 106 | #define INIT_TASK_RCU_TREE_PREEMPT() \ | 106 | #define INIT_TASK_RCU_TREE_PREEMPT() \ |
| 107 | .rcu_blocked_node = NULL, | 107 | .rcu_blocked_node = NULL, |
| 108 | #else | 108 | #else |
| @@ -111,12 +111,21 @@ extern struct group_info init_groups; | |||
| 111 | #ifdef CONFIG_PREEMPT_RCU | 111 | #ifdef CONFIG_PREEMPT_RCU |
| 112 | #define INIT_TASK_RCU_PREEMPT(tsk) \ | 112 | #define INIT_TASK_RCU_PREEMPT(tsk) \ |
| 113 | .rcu_read_lock_nesting = 0, \ | 113 | .rcu_read_lock_nesting = 0, \ |
| 114 | .rcu_read_unlock_special = 0, \ | 114 | .rcu_read_unlock_special.s = 0, \ |
| 115 | .rcu_node_entry = LIST_HEAD_INIT(tsk.rcu_node_entry), \ | 115 | .rcu_node_entry = LIST_HEAD_INIT(tsk.rcu_node_entry), \ |
| 116 | INIT_TASK_RCU_TREE_PREEMPT() | 116 | INIT_TASK_RCU_TREE_PREEMPT() |
| 117 | #else | 117 | #else |
| 118 | #define INIT_TASK_RCU_PREEMPT(tsk) | 118 | #define INIT_TASK_RCU_PREEMPT(tsk) |
| 119 | #endif | 119 | #endif |
| 120 | #ifdef CONFIG_TASKS_RCU | ||
| 121 | #define INIT_TASK_RCU_TASKS(tsk) \ | ||
| 122 | .rcu_tasks_holdout = false, \ | ||
| 123 | .rcu_tasks_holdout_list = \ | ||
| 124 | LIST_HEAD_INIT(tsk.rcu_tasks_holdout_list), \ | ||
| 125 | .rcu_tasks_idle_cpu = -1, | ||
| 126 | #else | ||
| 127 | #define INIT_TASK_RCU_TASKS(tsk) | ||
| 128 | #endif | ||
| 120 | 129 | ||
| 121 | extern struct cred init_cred; | 130 | extern struct cred init_cred; |
| 122 | 131 | ||
| @@ -157,6 +166,15 @@ extern struct task_group root_task_group; | |||
| 157 | # define INIT_RT_MUTEXES(tsk) | 166 | # define INIT_RT_MUTEXES(tsk) |
| 158 | #endif | 167 | #endif |
| 159 | 168 | ||
| 169 | #ifdef CONFIG_NUMA_BALANCING | ||
| 170 | # define INIT_NUMA_BALANCING(tsk) \ | ||
| 171 | .numa_preferred_nid = -1, \ | ||
| 172 | .numa_group = NULL, \ | ||
| 173 | .numa_faults = NULL, | ||
| 174 | #else | ||
| 175 | # define INIT_NUMA_BALANCING(tsk) | ||
| 176 | #endif | ||
| 177 | |||
| 160 | /* | 178 | /* |
| 161 | * INIT_TASK is used to set up the first task table, touch at | 179 | * INIT_TASK is used to set up the first task table, touch at |
| 162 | * your own risk!. Base=0, limit=0x1fffff (=2MB) | 180 | * your own risk!. Base=0, limit=0x1fffff (=2MB) |
| @@ -224,9 +242,11 @@ extern struct task_group root_task_group; | |||
| 224 | INIT_FTRACE_GRAPH \ | 242 | INIT_FTRACE_GRAPH \ |
| 225 | INIT_TRACE_RECURSION \ | 243 | INIT_TRACE_RECURSION \ |
| 226 | INIT_TASK_RCU_PREEMPT(tsk) \ | 244 | INIT_TASK_RCU_PREEMPT(tsk) \ |
| 245 | INIT_TASK_RCU_TASKS(tsk) \ | ||
| 227 | INIT_CPUSET_SEQ(tsk) \ | 246 | INIT_CPUSET_SEQ(tsk) \ |
| 228 | INIT_RT_MUTEXES(tsk) \ | 247 | INIT_RT_MUTEXES(tsk) \ |
| 229 | INIT_VTIME(tsk) \ | 248 | INIT_VTIME(tsk) \ |
| 249 | INIT_NUMA_BALANCING(tsk) \ | ||
| 230 | } | 250 | } |
| 231 | 251 | ||
| 232 | 252 | ||
