Lines Matching refs:ds
53 #define DTRACE_DEVSTAT_BIO_START() SDT_PROBE2(io, , , start, bp, ds)
54 #define DTRACE_DEVSTAT_BIO_DONE() SDT_PROBE2(io, , , done, bp, ds)
66 static void devstat_add_entry(struct devstat *ds, const void *dev_name,
82 struct devstat *ds; in devstat_new_entry() local
86 ds = devstat_alloc(); in devstat_new_entry()
89 ds->unit_number = unit_number; in devstat_new_entry()
90 ds->id = dev_name; in devstat_new_entry()
91 binuptime(&ds->creation_time); in devstat_new_entry()
94 devstat_add_entry(ds, dev_name, unit_number, block_size, in devstat_new_entry()
98 return (ds); in devstat_new_entry()
106 devstat_add_entry(struct devstat *ds, const void *dev_name, in devstat_add_entry() argument
130 STAILQ_INSERT_TAIL(devstat_head, ds, dev_links); in devstat_add_entry()
146 STAILQ_INSERT_AFTER(devstat_head, ds_tmp, ds, in devstat_add_entry()
157 ds, dev_links); in devstat_add_entry()
161 ds, dev_links); in devstat_add_entry()
172 ds->device_number = devstat_current_devnumber++; in devstat_add_entry()
173 ds->unit_number = unit_number; in devstat_add_entry()
174 strlcpy(ds->device_name, dev_name, DEVSTAT_NAME_LEN); in devstat_add_entry()
175 ds->block_size = block_size; in devstat_add_entry()
176 ds->flags = flags; in devstat_add_entry()
177 ds->device_type = device_type; in devstat_add_entry()
178 ds->priority = priority; in devstat_add_entry()
179 binuptime(&ds->creation_time); in devstat_add_entry()
187 devstat_remove_entry(struct devstat *ds) in devstat_remove_entry() argument
192 if (ds == NULL) in devstat_remove_entry()
200 atomic_add_acq_int(&ds->sequence1, 1); in devstat_remove_entry()
201 if (ds->unit_number != -1) { in devstat_remove_entry()
203 STAILQ_REMOVE(devstat_head, ds, devstat, dev_links); in devstat_remove_entry()
205 devstat_free(ds); in devstat_remove_entry()
217 devstat_start_transaction(struct devstat *ds, const struct bintime *now) in devstat_start_transaction() argument
221 if (ds == NULL) in devstat_start_transaction()
224 atomic_add_acq_int(&ds->sequence1, 1); in devstat_start_transaction()
230 if (atomic_fetchadd_int(&ds->start_count, 1) == ds->end_count) { in devstat_start_transaction()
232 ds->busy_from = *now; in devstat_start_transaction()
234 binuptime(&ds->busy_from); in devstat_start_transaction()
236 atomic_add_rel_int(&ds->sequence0, 1); in devstat_start_transaction()
240 devstat_start_transaction_bio(struct devstat *ds, struct bio *bp) in devstat_start_transaction_bio() argument
244 if (ds == NULL) in devstat_start_transaction_bio()
248 devstat_start_transaction_bio_t0(ds, bp); in devstat_start_transaction_bio()
252 devstat_start_transaction_bio_t0(struct devstat *ds, struct bio *bp) in devstat_start_transaction_bio_t0() argument
256 if (ds == NULL) in devstat_start_transaction_bio_t0()
259 devstat_start_transaction(ds, &bp->bio_t0); in devstat_start_transaction_bio_t0()
290 devstat_end_transaction(struct devstat *ds, uint32_t bytes, in devstat_end_transaction() argument
297 if (ds == NULL) in devstat_end_transaction()
305 atomic_add_acq_int(&ds->sequence1, 1); in devstat_end_transaction()
307 ds->bytes[flags] += bytes; in devstat_end_transaction()
308 ds->operations[flags]++; in devstat_end_transaction()
313 if ((ds->flags & DEVSTAT_NO_ORDERED_TAGS) == 0 && in devstat_end_transaction()
315 ds->tag_types[tag_type]++; in devstat_end_transaction()
321 bintime_add(&ds->duration[flags], &dt); in devstat_end_transaction()
326 bintime_sub(&dt, &ds->busy_from); in devstat_end_transaction()
327 bintime_add(&ds->busy_time, &dt); in devstat_end_transaction()
328 ds->busy_from = *now; in devstat_end_transaction()
330 ds->end_count++; in devstat_end_transaction()
331 atomic_add_rel_int(&ds->sequence0, 1); in devstat_end_transaction()
335 devstat_end_transaction_bio(struct devstat *ds, const struct bio *bp) in devstat_end_transaction_bio() argument
338 devstat_end_transaction_bio_bt(ds, bp, NULL); in devstat_end_transaction_bio()
342 devstat_end_transaction_bio_bt(struct devstat *ds, const struct bio *bp, in devstat_end_transaction_bio_bt() argument
349 if (ds == NULL) in devstat_end_transaction_bio_bt()
367 devstat_end_transaction(ds, bp->bio_bcount - bp->bio_resid, in devstat_end_transaction_bio_bt()