Lines Matching defs:ksp
375 kstat_t *ksp;
380 ksp = avl_find(t, template, NULL);
381 if (ksp == NULL)
383 e = (ekstat_t *)ksp;
391 return (ksp);
395 kstat_rele(kstat_t *ksp)
397 ekstat_t *e = (ekstat_t *)ksp;
471 kstat_t *ksp;
497 ksp = kstat_create("unix", 0, "kstat_headers", "kstat", KSTAT_TYPE_RAW,
499 if (ksp) {
500 ksp->ks_lock = &kstat_chain_lock;
501 ksp->ks_update = header_kstat_update;
502 ksp->ks_snapshot = header_kstat_snapshot;
503 kstat_install(ksp);
508 ksp = kstat_create("unix", 0, "kstat_types", "kstat",
510 if (ksp) {
512 kstat_named_t *kn = KSTAT_NAMED_PTR(ksp);
519 kstat_install(ksp);
522 ksp = kstat_create("unix", 0, "sysinfo", "misc", KSTAT_TYPE_RAW,
524 if (ksp) {
525 ksp->ks_data = (void *) &sysinfo;
526 kstat_install(ksp);
529 ksp = kstat_create("unix", 0, "vminfo", "vm", KSTAT_TYPE_RAW,
531 if (ksp) {
532 ksp->ks_data = (void *) &vminfo;
533 kstat_install(ksp);
536 ksp = kstat_create("unix", 0, "segmap", "vm", KSTAT_TYPE_NAMED,
538 if (ksp) {
539 ksp->ks_data = (void *) segmapcnt_ptr;
540 ksp->ks_update = segmap_kstat_update;
541 kstat_install(ksp);
544 ksp = kstat_create("unix", 0, "biostats", "misc", KSTAT_TYPE_NAMED,
546 if (ksp) {
547 ksp->ks_data = (void *) biostats_ptr;
548 kstat_install(ksp);
551 ksp = kstat_create("unix", 0, "var", "misc", KSTAT_TYPE_RAW,
553 if (ksp) {
554 ksp->ks_data = (void *) &v;
555 kstat_install(ksp);
558 ksp = kstat_create("unix", 0, "system_misc", "misc", KSTAT_TYPE_NAMED,
561 if (ksp) {
562 ksp->ks_data = (void *) &system_misc_kstat;
563 ksp->ks_update = system_misc_kstat_update;
564 kstat_install(ksp);
567 ksp = kstat_create("unix", 0, "system_pages", "pages", KSTAT_TYPE_NAMED,
570 if (ksp) {
571 ksp->ks_data = (void *) &system_pages_kstat;
572 ksp->ks_update = system_pages_kstat_update;
573 kstat_install(ksp);
576 ksp = kstat_create("poll", 0, "pollstats", "misc", KSTAT_TYPE_NAMED,
579 if (ksp) {
580 ksp->ks_data = pollstats_ptr;
581 kstat_install(ksp);
630 default_kstat_update(kstat_t *ksp, int rw)
640 if (ksp->ks_data != NULL && ksp->ks_type == KSTAT_TYPE_NAMED &&
641 (ksp->ks_flags & (KSTAT_FLAG_VAR_SIZE | KSTAT_FLAG_LONGSTRINGS))) {
646 knp = KSTAT_NAMED_PTR(ksp);
647 for (i = 0; i < ksp->ks_ndata; i++, knp++) {
651 ksp->ks_data_size =
652 ksp->ks_ndata * sizeof (kstat_named_t) + len;
658 default_kstat_snapshot(kstat_t *ksp, void *buf, int rw)
664 ksp->ks_snaptime = cur_time = gethrtime();
667 if (!(ksp->ks_flags & KSTAT_FLAG_WRITABLE))
669 bcopy(buf, ksp->ks_data, ksp->ks_data_size);
682 namedsz = sizeof (kstat_named_t) * ksp->ks_ndata;
683 if (ksp->ks_type == KSTAT_TYPE_NAMED && ksp->ks_data_size > namedsz)
684 bcopy(ksp->ks_data, buf, namedsz);
686 bcopy(ksp->ks_data, buf, ksp->ks_data_size);
691 switch (ksp->ks_type) {
727 if (ksp->ks_data_size > namedsz) {
730 char *dst = (char *)(knp + ksp->ks_ndata);
734 for (i = 0; i < ksp->ks_ndata; i++, knp++) {
743 ASSERT(dst <= ((char *)buf + ksp->ks_data_size));
808 system_misc_kstat_update(kstat_t *ksp, int rw)
874 system_pages_kstat_update(kstat_t *ksp, int rw)
949 kstat_t *ksp;
1024 ksp = kstat_hold_byname(ks_module, ks_instance, ks_name, ks_zoneid);
1025 if (ksp != NULL) {
1026 if (!(ksp->ks_flags & KSTAT_FLAG_DORMANT)) {
1031 kstat_rele(ksp);
1037 if ((strcmp(ksp->ks_class, ks_class) != 0) ||
1038 (ksp->ks_type != ks_type) ||
1039 (ksp->ks_ndata != ks_ndata) ||
1045 kstat_rele(ksp);
1055 ksp->ks_flags |= KSTAT_FLAG_INVALID;
1056 kstat_rele(ksp);
1057 return (ksp);
1083 ksp = &e->e_ks;
1084 ksp->ks_crtime = gethrtime();
1085 kstat_set_string(ksp->ks_module, ks_module);
1086 ksp->ks_instance = ks_instance;
1087 kstat_set_string(ksp->ks_name, ks_name);
1088 ksp->ks_type = ks_type;
1089 kstat_set_string(ksp->ks_class, ks_class);
1090 ksp->ks_flags = ks_flags | KSTAT_FLAG_INVALID;
1092 ksp->ks_data = NULL;
1094 ksp->ks_data = (void *)(e + 1);
1095 ksp->ks_ndata = ks_ndata;
1096 ksp->ks_data_size = ks_data_size;
1097 ksp->ks_snaptime = ksp->ks_crtime;
1098 ksp->ks_update = default_kstat_update;
1099 ksp->ks_private = NULL;
1100 ksp->ks_snapshot = default_kstat_snapshot;
1101 ksp->ks_lock = NULL;
1122 ksp->ks_kid = kstat_chain_id++;
1128 return (ksp);
1135 kstat_install(kstat_t *ksp)
1137 zoneid_t zoneid = ((ekstat_t *)ksp)->e_zone.zoneid;
1143 if ((ksp->ks_flags & KSTAT_FLAG_VAR_SIZE) && ksp->ks_lock == NULL) {
1146 ksp->ks_module, ksp->ks_instance, ksp->ks_name);
1149 if (kstat_hold_bykid(ksp->ks_kid, zoneid) != ksp) {
1151 (void *)ksp);
1155 if (ksp->ks_type == KSTAT_TYPE_NAMED && ksp->ks_data != NULL) {
1157 kstat_named_t *knp = KSTAT_NAMED_PTR(ksp);
1159 for (i = 0; i < ksp->ks_ndata; i++, knp++) {
1161 ksp->ks_flags |= KSTAT_FLAG_LONGSTRINGS;
1169 if ((ksp->ks_flags & KSTAT_FLAG_LONGSTRINGS) &&
1170 (ksp->ks_flags & KSTAT_FLAG_WRITABLE) &&
1171 (ksp->ks_snapshot == default_kstat_snapshot)) {
1175 ksp->ks_module, ksp->ks_instance, ksp->ks_name);
1179 if (ksp->ks_flags & KSTAT_FLAG_DORMANT) {
1187 kmutex_t *lp = ksp->ks_lock;
1190 (void) KSTAT_UPDATE(ksp, KSTAT_WRITE);
1193 (void) KSTAT_UPDATE(ksp, KSTAT_WRITE);
1195 ksp->ks_flags &= ~KSTAT_FLAG_DORMANT;
1208 ksp->ks_flags &= ~KSTAT_FLAG_INVALID;
1210 kstat_rele(ksp);
1218 kstat_delete(kstat_t *ksp)
1221 ekstat_t *e = (ekstat_t *)ksp;
1225 ASSERT(ksp != NULL);
1227 if (ksp == NULL)
1232 lp = ksp->ks_lock;
1236 (void *)ksp, (void *)lp);
1239 if (kstat_hold_bykid(ksp->ks_kid, zoneid) != ksp) {
1241 (void *)ksp);
1245 if (ksp->ks_flags & KSTAT_FLAG_PERSISTENT) {
1250 KSTAT_ENTER(ksp);
1251 (void) KSTAT_UPDATE(ksp, KSTAT_READ);
1252 KSTAT_EXIT(ksp);
1259 ksp->ks_flags |= KSTAT_FLAG_DORMANT;
1260 ksp->ks_lock = NULL;
1261 ksp->ks_update = default_kstat_update;
1262 ksp->ks_private = NULL;
1263 ksp->ks_snapshot = default_kstat_snapshot;
1264 kstat_rele(ksp);
1286 kstat_rele(ksp);
1294 kstat_t *ksp;
1296 ksp = kstat_hold_byname(ks_module, ks_instance, ks_name, ks_zoneid);
1297 if (ksp != NULL) {
1298 kstat_rele(ksp);
1299 kstat_delete(ksp);