diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2007-05-09 05:34:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:30:53 -0400 |
commit | 5de18d169739293e27e0cf9acfc75a2d2f4aa572 (patch) | |
tree | 3360a4235a92d787fb7e48fccfc945fa0ee15758 | |
parent | 90cce03d9bfcb28600a56efef6b0a5a4fbf6c2b1 (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>
-rw-r--r-- | kernel/workqueue.c | 12 |
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); |