diff options
Diffstat (limited to 'kernel/fork.c')
| -rw-r--r-- | kernel/fork.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 1bfefc6f96a4..dbd9b8d7b7cc 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
| @@ -287,6 +287,11 @@ static void set_max_threads(unsigned int max_threads_suggested) | |||
| 287 | max_threads = clamp_t(u64, threads, MIN_THREADS, MAX_THREADS); | 287 | max_threads = clamp_t(u64, threads, MIN_THREADS, MAX_THREADS); |
| 288 | } | 288 | } |
| 289 | 289 | ||
| 290 | #ifdef CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT | ||
| 291 | /* Initialized by the architecture: */ | ||
| 292 | int arch_task_struct_size __read_mostly; | ||
| 293 | #endif | ||
| 294 | |||
| 290 | void __init fork_init(void) | 295 | void __init fork_init(void) |
| 291 | { | 296 | { |
| 292 | #ifndef CONFIG_ARCH_TASK_STRUCT_ALLOCATOR | 297 | #ifndef CONFIG_ARCH_TASK_STRUCT_ALLOCATOR |
| @@ -295,7 +300,7 @@ void __init fork_init(void) | |||
| 295 | #endif | 300 | #endif |
| 296 | /* create a slab on which task_structs can be allocated */ | 301 | /* create a slab on which task_structs can be allocated */ |
| 297 | task_struct_cachep = | 302 | task_struct_cachep = |
| 298 | kmem_cache_create("task_struct", sizeof(struct task_struct), | 303 | kmem_cache_create("task_struct", arch_task_struct_size, |
| 299 | ARCH_MIN_TASKALIGN, SLAB_PANIC | SLAB_NOTRACK, NULL); | 304 | ARCH_MIN_TASKALIGN, SLAB_PANIC | SLAB_NOTRACK, NULL); |
| 300 | #endif | 305 | #endif |
| 301 | 306 | ||
