Lines Matching defs:pset
368 * all pset usages that exist in the new pset.
412 /* Add pset's time so far to the zone usage */
427 * pset. Leave pset_zone in old interval, but do not
430 * For total utilization, add pset time to zone that
431 * has run in this pset before.
434 /* Add new pset time to the zone usage */
445 * Zone is using pset in both start and end interval. Compute
469 * If pset usage has been destroyed and re-created
497 /* No need to add new pset zone usages if result pset is new pset */
570 * Old interval does not contain pset in new
606 * end interval. This pset is gone. Leave pset in
634 * If pset as been destroyed and re-created since start
943 zs_pset_name(zs_pset_t *pset, char *name, size_t len)
945 return (strlcpy(name, pset->zsp_name, len));
949 zs_pset_id(zs_pset_t *pset)
951 return (pset->zsp_id);
955 zs_pset_size(zs_pset_t *pset)
957 return (pset->zsp_size);
961 zs_pset_online(zs_pset_t *pset)
963 return (pset->zsp_online);
967 zs_pset_min(zs_pset_t *pset)
969 return (pset->zsp_min);
973 zs_pset_max(zs_pset_t *pset)
975 return (pset->zsp_max);
979 zs_pset_schedulers(zs_pset_t *pset)
981 return (pset->zsp_scheds);
991 zs_pset_cpu_shares(zs_pset_t *pset)
993 if (!(pset->zsp_scheds & ZS_SCHED_FSS))
996 return (pset->zsp_cpu_shares);
1009 zs_pset_cputype(zs_pset_t *pset)
1011 return (pset->zsp_cputype);
1015 zs_pset_usage_all(zs_pset_t *pset, timestruc_t *ts)
1019 tot = pset->zsp_usage_kern;
1020 TIMESTRUC_ADD_TIMESTRUC(tot, pset->zsp_usage_zones);
1025 zs_pset_usage_idle(zs_pset_t *pset, timestruc_t *ts)
1029 tot = pset->zsp_usage_kern;
1030 TIMESTRUC_ADD_TIMESTRUC(tot, pset->zsp_usage_zones);
1031 time = pset->zsp_total_time;
1037 zs_pset_usage_kernel(zs_pset_t *pset, timestruc_t *ts)
1039 *ts = pset->zsp_usage_kern;
1043 zs_pset_usage_zones(zs_pset_t *pset, timestruc_t *ts)
1045 *ts = pset->zsp_usage_zones;
1049 zs_pset_usage_all_pct(zs_pset_t *pset)
1053 tot = pset->zsp_usage_kern;
1054 TIMESTRUC_ADD_TIMESTRUC(tot, pset->zsp_usage_zones);
1056 return (zs_ts_used_pct(&pset->zsp_total_time, &tot, B_TRUE));
1060 zs_pset_usage_idle_pct(zs_pset_t *pset)
1064 tot = pset->zsp_usage_kern;
1065 TIMESTRUC_ADD_TIMESTRUC(tot, pset->zsp_usage_zones);
1066 TIMESTRUC_DELTA(idle, pset->zsp_total_time, tot);
1068 return (zs_ts_used_pct(&pset->zsp_total_time, &idle, B_TRUE));
1072 zs_pset_usage_kernel_pct(zs_pset_t *pset)
1074 return (zs_ts_used_pct(&pset->zsp_total_time, &pset->zsp_usage_kern,
1079 zs_pset_usage_zones_pct(zs_pset_t *pset)
1081 return (zs_ts_used_pct(&pset->zsp_total_time, &pset->zsp_usage_zones,
1086 zs_pset_usage_all_cpus(zs_pset_t *pset)
1090 tot = pset->zsp_usage_kern;
1091 TIMESTRUC_ADD_TIMESTRUC(tot, pset->zsp_usage_zones);
1092 return (zs_ts_used_cpus(&pset->zsp_total_time, &tot, pset->zsp_online,
1097 zs_pset_usage_idle_cpus(zs_pset_t *pset)
1101 tot = pset->zsp_usage_kern;
1102 TIMESTRUC_ADD_TIMESTRUC(tot, pset->zsp_usage_zones);
1103 TIMESTRUC_DELTA(idle, pset->zsp_total_time, tot);
1105 return (zs_ts_used_cpus(&pset->zsp_total_time, &tot, pset->zsp_online,
1110 zs_pset_usage_kernel_cpus(zs_pset_t *pset)
1112 return (zs_ts_used_cpus(&pset->zsp_total_time, &pset->zsp_usage_kern,
1113 pset->zsp_online, B_TRUE));
1117 zs_pset_usage_zones_cpus(zs_pset_t *pset)
1119 return (zs_ts_used_cpus(&pset->zsp_total_time, &pset->zsp_usage_zones,
1120 pset->zsp_online, B_TRUE));
1162 * Return the fraction of total shares for a pset allocated to the zone.
1167 zs_pset_t *pset = pz->zspz_pset;
1184 return (zs_uint64_used_pct(pset->zsp_cpu_shares, pz->zspz_cpu_shares,
2063 zs_pset_t *pset = NULL;
2119 pset = (zs_pset_t *)next;
2120 list_insert_tail(&usage->zsu_pset_list, pset);
2122 list_create(&pset->zsp_usage_list, sizeof (zs_pset_zone_t),
2124 for (j = 0; j < pset->zsp_nusage; j++) {
2127 list_insert_tail(&pset->zsp_usage_list, pz);
2129 pz->zspz_pset = pset;
2135 pset->zsp_intervals = 0;
2466 zs_pset_t *pset, *ptmp;
2480 pset = list_head(&usage->zsu_pset_list);
2481 while (pset != NULL) {
2482 pz = list_head(&pset->zsp_usage_list);
2485 pz = list_next(&pset->zsp_usage_list, pz);
2488 ptmp = pset;
2489 pset = list_next(&usage->zsu_pset_list, pset);
3807 zs_pset_t *pset, *tmp;
3809 /* copy what fits of the pset list into the buffer */
3810 for (pset = list_head(&usage->zsu_pset_list); pset != NULL;
3811 pset = list_next(&usage->zsu_pset_list, pset)) {
3813 /* put the default pset at the first position */
3815 if (pset->zsp_id == ZS_PSET_DEFAULT) {
3818 psetlist[0] = pset;
3820 psetlist[i] = pset;
3835 zs_pset_next(zs_usage_t *usage, zs_pset_t *pset)
3837 return (list_next(&usage->zsu_pset_list, pset));
3841 * Get various properties on a pset.
3844 zs_pset_property(zs_pset_t *pset, int prop, zs_property_t *p)
3851 (void) zs_pset_name(pset, p->zsp_v.zsv_string,
3857 p->zsp_v.zsv_int = zs_pset_id(pset);
3862 p->zsp_v.zsv_uint = zs_pset_cputype(pset);
3867 p->zsp_v.zsv_uint64 = zs_pset_size(pset);
3872 p->zsp_v.zsv_uint64 = zs_pset_online(pset);
3877 p->zsp_v.zsv_uint64 = zs_pset_min(pset);
3882 p->zsp_v.zsv_uint64 = zs_pset_max(pset);
3887 p->zsp_v.zsv_uint64 = zs_pset_cpu_shares(pset);
3892 p->zsp_v.zsv_uint = zs_pset_schedulers(pset);
3906 zs_pset_total_time(zs_pset_t *pset, timestruc_t *t)
3908 *t = pset->zsp_total_time;
3912 zs_pset_total_cpus(zs_pset_t *pset)
3914 return (pset->zsp_online * ZSD_ONE_CPU);
3918 * Get total time used for pset
3921 zs_pset_used_time(zs_pset_t *pset, int user, timestruc_t *t)
3925 zs_pset_usage_all(pset, t);
3928 zs_pset_usage_kernel(pset, t);
3931 zs_pset_usage_zones(pset, t);
3934 zs_pset_usage_idle(pset, t);
3949 zs_pset_used_cpus(zs_pset_t *pset, int user)
3955 v = zs_pset_usage_all_cpus(pset);
3958 v = zs_pset_usage_kernel_cpus(pset);
3961 v = zs_pset_usage_zones_cpus(pset);
3964 v = zs_pset_usage_idle_cpus(pset);
3972 * Get percent of pset cpu time used
3975 zs_pset_used_pct(zs_pset_t *pset, int user)
3981 v = zs_pset_usage_all_pct(pset);
3984 v = zs_pset_usage_kernel_pct(pset);
3987 v = zs_pset_usage_zones_pct(pset);
3990 v = zs_pset_usage_idle_pct(pset);
3999 zs_pset_zone_list(zs_pset_t *pset, zs_pset_zone_t **zonelist, int num)
4004 /* copy what fits of the pset's zone list into the buffer */
4005 for (zone = list_head(&pset->zsp_usage_list); zone != NULL;
4006 zone = list_next(&pset->zsp_usage_list, zone)) {
4024 zs_pset_zone_first(zs_pset_t *pset)
4026 return (list_head(&pset->zsp_usage_list));
4030 zs_pset_zone_next(zs_pset_t *pset, zs_pset_zone_t *pz)
4032 return (list_next(&pset->zsp_usage_list, pz));
4048 * Get a property describing a zone's usage of a pset