From 0209230bf1261579beab4f55226bb509e6b850cb Mon Sep 17 00:00:00 2001 From: gjelinek Date: Thu, 14 Dec 2006 13:35:17 -0800 Subject: PSARC 2006/496 Improved Zones/RM Integration PSARC 2006/598 Swap resource control; locked memory RM improvements PSARC 2006/660 rcapadm zone option 4754856 *prstat* prstat -atJTZ should count shared segments only once 4970603 RFE: should be able to persistently specify global zone's cpu shares 5026227 RFE: ability to rcap zones from global zone 5103071 RFE: local zones can run the global zone out of swap 6222025 RFE: simplify rctl syntax and improve cpu-shares/FSS interaction 6420985 rcapstat is broken on amd64 6421202 RFE: simplify and improve zones/pool integration 6442252 zonecfg's "unset" syntax is not documented and confusing 6490516 schedctl pages should not reserve swap 6490938 setproject can bind to the wrong pool 6498635 zone attach failure leaves zone in installed state 6500877 tmpfs syslogs incorrect path when non-global zone tmpfs mounts become full --- usr/src/uts/common/syscall/tasksys.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'usr/src/uts/common/syscall/tasksys.c') diff --git a/usr/src/uts/common/syscall/tasksys.c b/usr/src/uts/common/syscall/tasksys.c index 705b543a37..bec091e61c 100644 --- a/usr/src/uts/common/syscall/tasksys.c +++ b/usr/src/uts/common/syscall/tasksys.c @@ -25,6 +25,7 @@ #pragma ident "%Z%%M% %I% %E% SMI" + /* * System calls for creating and inquiring about tasks and projects */ @@ -102,7 +103,7 @@ tasksys_settaskid(projid_t projid, uint_t flags) * Put a hold on our new project and make sure that nobody is * trying to bind it to a pool while we're joining. */ - kpj = project_hold_by_id(projid, getzoneid(), PROJECT_HOLD_INSERT); + kpj = project_hold_by_id(projid, p->p_zone, PROJECT_HOLD_INSERT); e.rcep_p.proj = kpj; e.rcep_t = RCENTITY_PROJECT; @@ -111,7 +112,7 @@ tasksys_settaskid(projid_t projid, uint_t flags) zone = p->p_zone; mutex_enter(&zone->zone_nlwps_lock); - mutex_enter(&zone->zone_rctl_lock); + mutex_enter(&zone->zone_mem_lock); if (kpj->kpj_nlwps + p->p_lwpcnt > kpj->kpj_nlwps_ctl) if (rctl_test_entity(rc_project_nlwps, kpj->kpj_rctls, p, &e, @@ -130,7 +131,7 @@ tasksys_settaskid(projid_t projid, uint_t flags) rctlfail = 1; if (rctlfail) { - mutex_exit(&zone->zone_rctl_lock); + mutex_exit(&zone->zone_mem_lock); mutex_exit(&zone->zone_nlwps_lock); if (curthread != p->p_agenttp) continuelwps(p); @@ -144,7 +145,7 @@ tasksys_settaskid(projid_t projid, uint_t flags) oldpj->kpj_data.kpd_locked_mem -= p->p_locked_mem; oldpj->kpj_nlwps -= p->p_lwpcnt; - mutex_exit(&zone->zone_rctl_lock); + mutex_exit(&zone->zone_mem_lock); mutex_exit(&zone->zone_nlwps_lock); mutex_exit(&p->p_lock); -- cgit v1.2.3