summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/os/lwp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/src/uts/common/os/lwp.c b/usr/src/uts/common/os/lwp.c
index 1bb5b36828..091c4c4a21 100644
--- a/usr/src/uts/common/os/lwp.c
+++ b/usr/src/uts/common/os/lwp.c
@@ -502,6 +502,12 @@ grow:
t->t_bound_cpu = cpu[binding];
if (t->t_lpl != t->t_bound_cpu->cpu_lpl)
lgrp_move_thread(t, t->t_bound_cpu->cpu_lpl, 1);
+ } else if (CLASS_KERNEL(cid)) {
+ /*
+ * For kernel threads, assign ourselves to the root lgrp.
+ */
+ lgrp_move_thread(t,
+ &curthread->t_cpupart->cp_lgrploads[LGRP_ROOTID], 1);
} else {
lgrp_move_thread(t, lgrp_choose(t, t->t_cpupart), 1);
}