diff options
author | akolb <none@none> | 2007-03-09 15:55:28 -0800 |
---|---|---|
committer | akolb <none@none> | 2007-03-09 15:55:28 -0800 |
commit | c97ad5cdc75eb73e3cc38542ca3ba783574b0a7a (patch) | |
tree | 5ba1653d892978d87d6061c8c7f3821f4b3e354c /usr/src/uts/common/sys/project.h | |
parent | 68d3ac02fc9db49ae9dccaecff999963114930a7 (diff) | |
download | illumos-joyent-c97ad5cdc75eb73e3cc38542ca3ba783574b0a7a.tar.gz |
PSARC/2004/402 CPU Caps
6327235 PSARC/2004/402 CPU caps
6464161 Dead KSLICE code should be removed
6514387 FX class contains dead code to keep list of member threads
6518395 kstat_zone_add performs KM_SLEEP allocation when it should not
Diffstat (limited to 'usr/src/uts/common/sys/project.h')
-rw-r--r-- | usr/src/uts/common/sys/project.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/usr/src/uts/common/sys/project.h b/usr/src/uts/common/sys/project.h index 68aaef7730..15a0bf2193 100644 --- a/usr/src/uts/common/sys/project.h +++ b/usr/src/uts/common/sys/project.h @@ -39,6 +39,7 @@ extern "C" { #include <sys/mutex.h> #include <sys/rctl.h> #include <sys/ipc_rctl.h> +#include <sys/zone.h> typedef struct kproject_kstat { kstat_named_t kpk_zonename; @@ -58,25 +59,29 @@ typedef struct kproject_data { /* Datum protected by: */ } kproject_data_t; +struct cpucap; + /* * The first two fields of this structure must not be reordered. */ typedef struct kproject { projid_t kpj_id; /* project ID */ zoneid_t kpj_zoneid; /* zone ID */ + struct zone *kpj_zone; /* zone pointer */ uint_t kpj_count; /* reference counter */ uint32_t kpj_shares; /* number of shares */ rctl_set_t *kpj_rctls; /* resource control set */ struct kproject *kpj_prev; /* previous project */ struct kproject *kpj_next; /* next project */ kproject_data_t kpj_data; /* subsystem-specfic data */ - kmutex_t kpj_poolbind; /* synch. with pools */ + kmutex_t kpj_poolbind; /* synchronization with pools */ rctl_qty_t kpj_nlwps; /* protected by project's zone's */ /* zone_nlwps_lock */ rctl_qty_t kpj_nlwps_ctl; /* protected by kpj_rctls->rcs_lock */ rctl_qty_t kpj_ntasks; /* protected by project's zone's */ /* zone_nlwps_lock */ rctl_qty_t kpj_ntasks_ctl; /* protected by kpj_rctls->rcs_lock */ + struct cpucap *kpj_cpucap; /* CPU cap data */ } kproject_t; #ifdef _KERNEL @@ -87,8 +92,6 @@ typedef struct kproject { #define PROJECT_HOLD_FIND 1 #define PROJECT_HOLD_INSERT 2 -struct zone; - void project_init(void); kproject_t *project_hold(kproject_t *); kproject_t *project_hold_by_id(projid_t, struct zone *, int); |