[PATCH 1/1] kthread: Reduce stack pressure in create_kthread and kthreadd

Mike Travis
2008-07-08T22:55:58Z

Subject: [PATCH 1/1] 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.

Based on linux-2.6.tip/master

Signed-off-by: Mike Travis <travis@sgi.com>
---
kernel/kthread.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.tip.orig/kernel/kthread.c
+++ linux-2.6.tip/kernel/kthread.c
@@ -107,7 +107,7 @@ static void create_kthread(struct kthrea
*/
sched_setscheduler(create->result, SCHED_NORMAL, &param);
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);
}
@@ -238,7 +238,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;