Lines Matching refs:ksi

125 	kstat_instance_t **sorted, *ksi, *next;  in kstat_instances_update()  local
135 for (ksi = *head; ksi != NULL; ksi = ksi->ksi_next) in kstat_instances_update()
136 ksi->ksi_ksp = NULL; in kstat_instances_update()
149 for (ksi = *head; ksi != NULL; ksi = ksi->ksi_next) { in kstat_instances_update()
150 last = ksi; in kstat_instances_update()
152 if (ksi->ksi_instance != ksp->ks_instance) in kstat_instances_update()
155 if (strcmp(ksi->ksi_name, ksp->ks_name) != 0) in kstat_instances_update()
158 ksi->ksi_ksp = ksp; in kstat_instances_update()
163 if (ksi != NULL) in kstat_instances_update()
166 if ((ksi = malloc(sizeof (kstat_instance_t))) == NULL) in kstat_instances_update()
169 bzero(ksi, sizeof (kstat_instance_t)); in kstat_instances_update()
170 (void) strlcpy(ksi->ksi_name, ksp->ks_name, KSTAT_STRLEN); in kstat_instances_update()
171 ksi->ksi_instance = ksp->ks_instance; in kstat_instances_update()
172 ksi->ksi_ksp = ksp; in kstat_instances_update()
173 ksi->ksi_next = NULL; in kstat_instances_update()
177 *head = ksi; in kstat_instances_update()
179 last->ksi_next = ksi; in kstat_instances_update()
193 for (ksi = *head; ksi != NULL; ksi = next) { in kstat_instances_update()
194 next = ksi->ksi_next; in kstat_instances_update()
196 if (ksi->ksi_ksp == NULL) { in kstat_instances_update()
197 free(ksi); in kstat_instances_update()
199 sorted[ninstances++] = ksi; in kstat_instances_update()
214 ksi = sorted[i]; in kstat_instances_update()
215 ksi->ksi_next = i < ninstances - 1 ? sorted[i + 1] : NULL; in kstat_instances_update()
223 kstat_instance_t *ksi; in kstat_instances_read() local
229 for (ksi = instances; ksi != NULL; ksi = ksi->ksi_next) { in kstat_instances_read()
230 kstat_t *ksp = ksi->ksi_ksp; in kstat_instances_read()
243 ksi->ksi_ksp = NULL; in kstat_instances_read()
248 ksi->ksi_name, ksi->ksi_instance); in kstat_instances_read()
252 fatal("%s:%d is not a named kstat", ksi->ksi_name, in kstat_instances_read()
253 ksi->ksi_instance); in kstat_instances_read()
256 if (ksi->ksi_data[0] == NULL) { in kstat_instances_read()
264 ksi->ksi_data[0] = data; in kstat_instances_read()
265 ksi->ksi_data[1] = &data[nfields]; in kstat_instances_read()
281 ksi->ksi_data[ksi->ksi_gen][i] = nm[hint].value.ui64; in kstat_instances_read()
284 ksi->ksi_snaptime[ksi->ksi_gen] = ksp->ks_snaptime; in kstat_instances_read()
285 ksi->ksi_gen ^= 1; in kstat_instances_read()
290 kstat_instances_delta(kstat_instance_t *ksi, int i) in kstat_instances_delta() argument
292 int gen = ksi->ksi_gen; in kstat_instances_delta()
293 uint64_t delta = ksi->ksi_data[gen ^ 1][i] - ksi->ksi_data[gen][i]; in kstat_instances_delta()
294 uint64_t tdelta = ksi->ksi_snaptime[gen ^ 1] - ksi->ksi_snaptime[gen]; in kstat_instances_delta()
303 kstat_instance_t *ksi = instances; in kstat_instances_print() local
316 for (ksi = instances; ksi != NULL; ksi = ksi->ksi_next) { in kstat_instances_print()
317 if (ksi->ksi_snaptime[1] == 0 || ksi->ksi_ksp == NULL) in kstat_instances_print()
331 ksi->ksi_instance : in kstat_instances_print()
333 ksi->ksi_data[ksi->ksi_gen ^ 1][i] : in kstat_instances_print()
334 kstat_instances_delta(ksi, i), trailer); in kstat_instances_print()