aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2007-05-09 05:34:36 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-09 15:30:53 -0400
commit5de18d169739293e27e0cf9acfc75a2d2f4aa572 (patch)
tree3360a4235a92d787fb7e48fccfc945fa0ee15758 /kernel/workqueue.c
parent90cce03d9bfcb28600a56efef6b0a5a4fbf6c2b1 (diff)
worker_thread: don't play with SIGCHLD and numa policy
worker_thread() inherits ignored SIGCHLD and numa_default_policy() from its parent, kthreadd. No need to setup this again. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r--kernel/workqueue.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index c9ab4293904f..25cee1afe6fb 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -289,23 +289,11 @@ static int worker_thread(void *__cwq)
289{ 289{
290 struct cpu_workqueue_struct *cwq = __cwq; 290 struct cpu_workqueue_struct *cwq = __cwq;
291 DEFINE_WAIT(wait); 291 DEFINE_WAIT(wait);
292 struct k_sigaction sa;
293 292
294 if (!cwq->wq->freezeable) 293 if (!cwq->wq->freezeable)
295 current->flags |= PF_NOFREEZE; 294 current->flags |= PF_NOFREEZE;
296 295
297 set_user_nice(current, -5); 296 set_user_nice(current, -5);
298 /*
299 * We inherited MPOL_INTERLEAVE from the booting kernel.
300 * Set MPOL_DEFAULT to insure node local allocations.
301 */
302 numa_default_policy();
303
304 /* SIG_IGN makes children autoreap: see do_notify_parent(). */
305 sa.sa.sa_handler = SIG_IGN;
306 sa.sa.sa_flags = 0;
307 siginitset(&sa.sa.sa_mask, sigmask(SIGCHLD));
308 do_sigaction(SIGCHLD, &sa, (struct k_sigaction *)0);
309 297
310 for (;;) { 298 for (;;) {
311 prepare_to_wait(&cwq->more_work, &wait, TASK_INTERRUPTIBLE); 299 prepare_to_wait(&cwq->more_work, &wait, TASK_INTERRUPTIBLE);