diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/uts/common/os/lwp.c | 6 |
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); } |