Lines Matching refs:ksi

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