Lines Matching refs:ds
54 #define DTRACE_DEVSTAT_BIO_START() SDT_PROBE2(io, , , start, bp, ds)
55 #define DTRACE_DEVSTAT_BIO_DONE() SDT_PROBE2(io, , , done, bp, ds)
67 static void devstat_add_entry(struct devstat *ds, const void *dev_name,
83 struct devstat *ds; in devstat_new_entry() local
87 ds = devstat_alloc(); in devstat_new_entry()
90 ds->unit_number = unit_number; in devstat_new_entry()
91 ds->id = dev_name; in devstat_new_entry()
92 binuptime(&ds->creation_time); in devstat_new_entry()
95 devstat_add_entry(ds, dev_name, unit_number, block_size, in devstat_new_entry()
99 return (ds); in devstat_new_entry()
107 devstat_add_entry(struct devstat *ds, const void *dev_name, in devstat_add_entry() argument
131 STAILQ_INSERT_TAIL(devstat_head, ds, dev_links); in devstat_add_entry()
147 STAILQ_INSERT_AFTER(devstat_head, ds_tmp, ds, in devstat_add_entry()
158 ds, dev_links); in devstat_add_entry()
162 ds, dev_links); in devstat_add_entry()
173 ds->device_number = devstat_current_devnumber++; in devstat_add_entry()
174 ds->unit_number = unit_number; in devstat_add_entry()
175 strlcpy(ds->device_name, dev_name, DEVSTAT_NAME_LEN); in devstat_add_entry()
176 ds->block_size = block_size; in devstat_add_entry()
177 ds->flags = flags; in devstat_add_entry()
178 ds->device_type = device_type; in devstat_add_entry()
179 ds->priority = priority; in devstat_add_entry()
180 binuptime(&ds->creation_time); in devstat_add_entry()
188 devstat_remove_entry(struct devstat *ds) in devstat_remove_entry() argument
193 if (ds == NULL) in devstat_remove_entry()
201 atomic_add_acq_int(&ds->sequence1, 1); in devstat_remove_entry()
202 if (ds->unit_number != -1) { in devstat_remove_entry()
204 STAILQ_REMOVE(devstat_head, ds, devstat, dev_links); in devstat_remove_entry()
206 devstat_free(ds); in devstat_remove_entry()
218 devstat_start_transaction(struct devstat *ds, const struct bintime *now) in devstat_start_transaction() argument
222 if (ds == NULL) in devstat_start_transaction()
225 atomic_add_acq_int(&ds->sequence1, 1); in devstat_start_transaction()
231 if (atomic_fetchadd_int(&ds->start_count, 1) == ds->end_count) { in devstat_start_transaction()
233 ds->busy_from = *now; in devstat_start_transaction()
235 binuptime(&ds->busy_from); in devstat_start_transaction()
237 atomic_add_rel_int(&ds->sequence0, 1); in devstat_start_transaction()
241 devstat_start_transaction_bio(struct devstat *ds, struct bio *bp) in devstat_start_transaction_bio() argument
245 if (ds == NULL) in devstat_start_transaction_bio()
249 devstat_start_transaction_bio_t0(ds, bp); in devstat_start_transaction_bio()
253 devstat_start_transaction_bio_t0(struct devstat *ds, struct bio *bp) in devstat_start_transaction_bio_t0() argument
257 if (ds == NULL) in devstat_start_transaction_bio_t0()
260 devstat_start_transaction(ds, &bp->bio_t0); in devstat_start_transaction_bio_t0()
291 devstat_end_transaction(struct devstat *ds, uint32_t bytes, in devstat_end_transaction() argument
298 if (ds == NULL) in devstat_end_transaction()
306 atomic_add_acq_int(&ds->sequence1, 1); in devstat_end_transaction()
308 ds->bytes[flags] += bytes; in devstat_end_transaction()
309 ds->operations[flags]++; in devstat_end_transaction()
314 if ((ds->flags & DEVSTAT_NO_ORDERED_TAGS) == 0 && in devstat_end_transaction()
316 ds->tag_types[tag_type]++; in devstat_end_transaction()
322 bintime_add(&ds->duration[flags], &dt); in devstat_end_transaction()
327 bintime_sub(&dt, &ds->busy_from); in devstat_end_transaction()
328 bintime_add(&ds->busy_time, &dt); in devstat_end_transaction()
329 ds->busy_from = *now; in devstat_end_transaction()
331 ds->end_count++; in devstat_end_transaction()
332 atomic_add_rel_int(&ds->sequence0, 1); in devstat_end_transaction()
336 devstat_end_transaction_bio(struct devstat *ds, const struct bio *bp) in devstat_end_transaction_bio() argument
339 devstat_end_transaction_bio_bt(ds, bp, NULL); in devstat_end_transaction_bio()
343 devstat_end_transaction_bio_bt(struct devstat *ds, const struct bio *bp, in devstat_end_transaction_bio_bt() argument
350 if (ds == NULL) in devstat_end_transaction_bio_bt()
368 devstat_end_transaction(ds, bp->bio_bcount - bp->bio_resid, in devstat_end_transaction_bio_bt()