summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/os/lwp.c
diff options
context:
space:
mode:
authoraguzovsk <none@none>2007-06-08 18:58:50 -0700
committeraguzovsk <none@none>2007-06-08 18:58:50 -0700
commit2cb27123907a098a777e39eebc349d73e99a518f (patch)
treec95bccd47a25fb4e5c193a71cfa32f4747f03032 /usr/src/uts/common/os/lwp.c
parent01e689ccb14727455003b77ee332005223497875 (diff)
downloadillumos-gate-2cb27123907a098a777e39eebc349d73e99a518f.tar.gz
6544121 Implement text replication
Diffstat (limited to 'usr/src/uts/common/os/lwp.c')
-rw-r--r--usr/src/uts/common/os/lwp.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/usr/src/uts/common/os/lwp.c b/usr/src/uts/common/os/lwp.c
index c1d1a870e0..60eee244dd 100644
--- a/usr/src/uts/common/os/lwp.c
+++ b/usr/src/uts/common/os/lwp.c
@@ -462,6 +462,17 @@ grow:
branded = 1;
}
+ if (t->t_tid == 1) {
+ kpreempt_disable();
+ ASSERT(t->t_lpl != NULL);
+ p->p_t1_lgrpid = t->t_lpl->lpl_lgrpid;
+ kpreempt_enable();
+ if (p->p_tr_lgrpid != LGRP_NONE &&
+ p->p_tr_lgrpid != p->p_t1_lgrpid) {
+ lgrp_update_trthr_migrations(1);
+ }
+ }
+
p->p_lwpcnt++;
t->t_waitfor = -1;
@@ -886,6 +897,9 @@ lwp_cleanup(void)
*/
kpreempt_disable();
lgrp_move_thread(t, NULL, 1);
+ if (t->t_tid == 1) {
+ p->p_t1_lgrpid = LGRP_NONE;
+ }
kpreempt_enable();
lwp_ctmpl_clear(ttolwp(t));