diff options
author | aguzovsk <none@none> | 2007-06-08 18:58:50 -0700 |
---|---|---|
committer | aguzovsk <none@none> | 2007-06-08 18:58:50 -0700 |
commit | 2cb27123907a098a777e39eebc349d73e99a518f (patch) | |
tree | c95bccd47a25fb4e5c193a71cfa32f4747f03032 /usr/src/uts/common/os/lwp.c | |
parent | 01e689ccb14727455003b77ee332005223497875 (diff) | |
download | illumos-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.c | 14 |
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)); |