Lines Matching refs:ds

59 #define	DTRACE_DEVSTAT_START()		SDT_PROBE2(io, , , start, NULL, ds)
60 #define DTRACE_DEVSTAT_BIO_START() SDT_PROBE2(io, , , start, bp, ds)
61 #define DTRACE_DEVSTAT_DONE() SDT_PROBE2(io, , , done, NULL, ds)
62 #define DTRACE_DEVSTAT_BIO_DONE() SDT_PROBE2(io, , , done, bp, ds)
63 #define DTRACE_DEVSTAT_WAIT_START() SDT_PROBE2(io, , , wait__start, NULL, ds)
64 #define DTRACE_DEVSTAT_WAIT_DONE() SDT_PROBE2(io, , , wait__done, NULL, ds)
76 static void devstat_add_entry(struct devstat *ds, const void *dev_name,
92 struct devstat *ds; in devstat_new_entry() local
96 ds = devstat_alloc(); in devstat_new_entry()
99 ds->unit_number = unit_number; in devstat_new_entry()
100 ds->id = dev_name; in devstat_new_entry()
101 binuptime(&ds->creation_time); in devstat_new_entry()
104 devstat_add_entry(ds, dev_name, unit_number, block_size, in devstat_new_entry()
108 return (ds); in devstat_new_entry()
116 devstat_add_entry(struct devstat *ds, const void *dev_name, in devstat_add_entry() argument
140 STAILQ_INSERT_TAIL(devstat_head, ds, dev_links); in devstat_add_entry()
156 STAILQ_INSERT_AFTER(devstat_head, ds_tmp, ds, in devstat_add_entry()
167 ds, dev_links); in devstat_add_entry()
171 ds, dev_links); in devstat_add_entry()
182 ds->device_number = devstat_current_devnumber++; in devstat_add_entry()
183 ds->unit_number = unit_number; in devstat_add_entry()
184 strlcpy(ds->device_name, dev_name, DEVSTAT_NAME_LEN); in devstat_add_entry()
185 ds->block_size = block_size; in devstat_add_entry()
186 ds->flags = flags; in devstat_add_entry()
187 ds->device_type = device_type; in devstat_add_entry()
188 ds->priority = priority; in devstat_add_entry()
189 binuptime(&ds->creation_time); in devstat_add_entry()
197 devstat_remove_entry(struct devstat *ds) in devstat_remove_entry() argument
202 if (ds == NULL) in devstat_remove_entry()
210 atomic_add_acq_int(&ds->sequence1, 1); in devstat_remove_entry()
211 if (ds->unit_number != -1) { in devstat_remove_entry()
213 STAILQ_REMOVE(devstat_head, ds, devstat, dev_links); in devstat_remove_entry()
215 devstat_free(ds); in devstat_remove_entry()
227 devstat_start_transaction(struct devstat *ds, const struct bintime *now) in devstat_start_transaction() argument
231 if (ds == NULL) in devstat_start_transaction()
234 atomic_add_acq_int(&ds->sequence1, 1); in devstat_start_transaction()
240 if (atomic_fetchadd_int(&ds->start_count, 1) == ds->end_count) { in devstat_start_transaction()
242 ds->busy_from = *now; in devstat_start_transaction()
244 binuptime(&ds->busy_from); in devstat_start_transaction()
246 atomic_add_rel_int(&ds->sequence0, 1); in devstat_start_transaction()
251 devstat_start_transaction_bio(struct devstat *ds, struct bio *bp) in devstat_start_transaction_bio() argument
255 if (ds == NULL) in devstat_start_transaction_bio()
259 devstat_start_transaction_bio_t0(ds, bp); in devstat_start_transaction_bio()
263 devstat_start_transaction_bio_t0(struct devstat *ds, struct bio *bp) in devstat_start_transaction_bio_t0() argument
267 if (ds == NULL) in devstat_start_transaction_bio_t0()
270 devstat_start_transaction(ds, &bp->bio_t0); in devstat_start_transaction_bio_t0()
301 devstat_end_transaction(struct devstat *ds, uint32_t bytes, in devstat_end_transaction() argument
308 if (ds == NULL) in devstat_end_transaction()
316 atomic_add_acq_int(&ds->sequence1, 1); in devstat_end_transaction()
318 ds->bytes[flags] += bytes; in devstat_end_transaction()
319 ds->operations[flags]++; in devstat_end_transaction()
324 if ((ds->flags & DEVSTAT_NO_ORDERED_TAGS) == 0 && in devstat_end_transaction()
326 ds->tag_types[tag_type]++; in devstat_end_transaction()
332 bintime_add(&ds->duration[flags], &dt); in devstat_end_transaction()
337 bintime_sub(&dt, &ds->busy_from); in devstat_end_transaction()
338 bintime_add(&ds->busy_time, &dt); in devstat_end_transaction()
339 ds->busy_from = *now; in devstat_end_transaction()
341 ds->end_count++; in devstat_end_transaction()
342 atomic_add_rel_int(&ds->sequence0, 1); in devstat_end_transaction()
347 devstat_end_transaction_bio(struct devstat *ds, const struct bio *bp) in devstat_end_transaction_bio() argument
350 devstat_end_transaction_bio_bt(ds, bp, NULL); in devstat_end_transaction_bio()
354 devstat_end_transaction_bio_bt(struct devstat *ds, const struct bio *bp, in devstat_end_transaction_bio_bt() argument
361 if (ds == NULL) in devstat_end_transaction_bio_bt()
379 devstat_end_transaction(ds, bp->bio_bcount - bp->bio_resid, in devstat_end_transaction_bio_bt()