summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/lwp.c
diff options
context:
space:
mode:
authorJonathan Adams <Jonathan.Adams@Sun.COM>2009-12-16 10:18:11 -0800
committerJonathan Adams <Jonathan.Adams@Sun.COM>2009-12-16 10:18:11 -0800
commitaab2fe4104e428e5213f84aee65b9905ec97cf9a (patch)
tree2206821772c10b03082d3bc404073590e43ea6ea /usr/src/uts/common/os/lwp.c
parent3006ae8299c242a6ac48c0384a6167bcc3303d69 (diff)
downloadillumos-gate-aab2fe4104e428e5213f84aee65b9905ec97cf9a.tar.gz
6909721 assertion failed: t->t_lpl < t->t_cpupart->cp_lgrploads + t->t_cpupart->cp_nlgrp
6910240 sysdc_batch_niceness doesn't help performance
Diffstat (limited to 'usr/src/uts/common/os/lwp.c')
-rw-r--r--usr/src/uts/common/os/lwp.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/usr/src/uts/common/os/lwp.c b/usr/src/uts/common/os/lwp.c
index 229c3d1177..3fa5dcbc7a 100644
--- a/usr/src/uts/common/os/lwp.c
+++ b/usr/src/uts/common/os/lwp.c
@@ -527,10 +527,10 @@ grow:
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.
+ * Kernel threads are always in the root lgrp.
*/
lgrp_move_thread(t,
- &curthread->t_cpupart->cp_lgrploads[LGRP_ROOTID], 1);
+ &t->t_cpupart->cp_lgrploads[LGRP_ROOTID], 1);
} else {
lgrp_move_thread(t, lgrp_choose(t, t->t_cpupart), 1);
}
@@ -545,20 +545,11 @@ grow:
t->t_cpupart->cp_nlgrploads);
/*
- * If we're creating a new process, then inherit the project from our
- * parent. If we're only creating an additional lwp then use the
- * project pointer of the target process.
- */
- if (p->p_task == NULL)
- newkpj = ttoproj(curthread);
- else
- newkpj = p->p_task->tk_proj;
-
- /*
* It is safe to point the thread to the new project without holding it
* since we're holding the target process' p_lock here and therefore
* we're guaranteed that it will not move to another project.
*/
+ newkpj = p->p_task->tk_proj;
oldkpj = ttoproj(t);
if (newkpj != oldkpj) {
t->t_proj = newkpj;