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>
This commit is contained in:
@@ -106,7 +106,7 @@ static void create_kthread(struct kthread_create_info *create)
|
|||||||
*/
|
*/
|
||||||
sched_setscheduler(create->result, SCHED_NORMAL, ¶m);
|
sched_setscheduler(create->result, SCHED_NORMAL, ¶m);
|
||||||
set_user_nice(create->result, KTHREAD_NICE_LEVEL);
|
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);
|
complete(&create->done);
|
||||||
}
|
}
|
||||||
@@ -233,7 +233,7 @@ int kthreadd(void *unused)
|
|||||||
set_task_comm(tsk, "kthreadd");
|
set_task_comm(tsk, "kthreadd");
|
||||||
ignore_signals(tsk);
|
ignore_signals(tsk);
|
||||||
set_user_nice(tsk, KTHREAD_NICE_LEVEL);
|
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;
|
current->flags |= PF_NOFREEZE | PF_FREEZER_NOSIG;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user