History

[PATCH] mm: kevent threads: use MPOL_DEFAULT

Switch the memory policy of the kevent threads to MPOL_DEFAULT while leaving the kzalloc of the workqueue structure on interleave. This means that all code executed in the context of the kevent thread is allocating node local.

Christoph Lameter committed 20 years ago

Commit 46934021 parent fc513a31 file · +7 −0Browse files

Showing the changes to kernel/workqueue.c (1 of 1 file). Show all

Unified · Split

kernel/workqueue.c+7−0
@@ -28,6 +28,7 @@ · 27 unmodified lines
2828 #include <linux/notifier.h>
2929 #include <linux/kthread.h>
3030 #include <linux/hardirq.h>
31+#include <linux/mempolicy.h>
3132
3233 /*
3334 * The per-CPU workqueue (if single thread, we always use the first
@@ -245,6 +246,12 @@ static int worker_thread(void *__cwq) · 211 unmodified lines
245246 sigprocmask(SIG_BLOCK, &blocked, NULL);
246247 flush_signals(current);
247248
249+ /*
250+ * We inherited MPOL_INTERLEAVE from the booting kernel.
251+ * Set MPOL_DEFAULT to insure node local allocations.
252+ */
253+ numa_default_policy();
254+
248255 /* SIG_IGN makes children autoreap: see do_notify_parent(). */
249256 sa.sa.sa_handler = SIG_IGN;
250257 sa.sa.sa_flags = 0;