diff options
author | Mike Travis <travis@sgi.com> | 2008-07-08 15:55:48 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-18 18:46:58 +0200 |
commit | 8df185a95c9b84fc0c3c02224e64fdc5b83bae34 (patch) | |
tree | dd53306fbec26ca7da24494b2844622363dc8bb3 /kernel/kthread.c | |
parent | 8b95d9172be7146c87e7a998310ce2919c851adc (diff) | |
download | lwn-8df185a95c9b84fc0c3c02224e64fdc5b83bae34.tar.gz lwn-8df185a95c9b84fc0c3c02224e64fdc5b83bae34.zip |
kthread: reduce stack pressure in create_kthread and kthreadd
* Replace:
set_cpus_allowed(..., CPU_MASK_ALL)
with:
set_cpus_allowed_ptr(..., CPU_MASK_ALL_PTR)
to remove excessive stack requirements when NR_CPUS=4096.
Signed-off-by: Mike Travis <travis@sgi.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/kthread.c')
-rw-r--r-- | kernel/kthread.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/kthread.c b/kernel/kthread.c index ac3fb7326641..6111c27491b1 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -106,7 +106,7 @@ static void create_kthread(struct kthread_create_info *create) */ sched_setscheduler(create->result, SCHED_NORMAL, ¶m); set_user_nice(create->result, KTHREAD_NICE_LEVEL); - set_cpus_allowed(create->result, CPU_MASK_ALL); + set_cpus_allowed_ptr(create->result, CPU_MASK_ALL_PTR); } complete(&create->done); } @@ -233,7 +233,7 @@ int kthreadd(void *unused) set_task_comm(tsk, "kthreadd"); ignore_signals(tsk); set_user_nice(tsk, KTHREAD_NICE_LEVEL); - set_cpus_allowed(tsk, CPU_MASK_ALL); + set_cpus_allowed_ptr(tsk, CPU_MASK_ALL_PTR); current->flags |= PF_NOFREEZE | PF_FREEZER_NOSIG; |