Lines Matching refs:io_test
84 struct nvme_io_test_internal *io_test = arg; in nvme_ns_bio_test() local
95 buf = malloc(io_test->size, M_NVME, M_WAITOK); in nvme_ns_bio_test()
96 idx = atomic_fetchadd_int(&io_test->td_idx, 1); in nvme_ns_bio_test()
97 dev = io_test->ns->cdev; in nvme_ns_bio_test()
99 offset = idx * 2048ULL * nvme_ns_get_sector_size(io_test->ns); in nvme_ns_bio_test()
105 bio->bio_cmd = (io_test->opc == NVME_OPC_READ) ? in nvme_ns_bio_test()
111 bio->bio_bcount = io_test->size; in nvme_ns_bio_test()
113 if (io_test->flags & NVME_TEST_FLAG_REFTHREAD) { in nvme_ns_bio_test()
126 if (io_test->flags & NVME_TEST_FLAG_REFTHREAD) { in nvme_ns_bio_test()
138 timevalsub(&t, &io_test->start); in nvme_ns_bio_test()
140 if (t.tv_sec >= io_test->time) in nvme_ns_bio_test()
143 offset += io_test->size; in nvme_ns_bio_test()
144 if ((offset + io_test->size) > nvme_ns_get_size(io_test->ns)) in nvme_ns_bio_test()
148 io_test->io_completed[idx] = io_completed; in nvme_ns_bio_test()
149 wakeup_one(io_test); in nvme_ns_bio_test()
153 atomic_subtract_int(&io_test->td_active, 1); in nvme_ns_bio_test()
200 struct nvme_io_test_internal *io_test = arg; in nvme_ns_io_test() local
206 tth->ns = io_test->ns; in nvme_ns_io_test()
207 tth->opc = io_test->opc; in nvme_ns_io_test()
208 memcpy(&tth->start, &io_test->start, sizeof(tth->start)); in nvme_ns_io_test()
209 tth->buf = malloc(io_test->size, M_NVME, M_WAITOK); in nvme_ns_io_test()
210 tth->size = io_test->size; in nvme_ns_io_test()
211 tth->time = io_test->time; in nvme_ns_io_test()
212 tth->idx = atomic_fetchadd_int(&io_test->td_idx, 1); in nvme_ns_io_test()
223 io_test->io_completed[tth->idx] = tth->io_completed; in nvme_ns_io_test()
224 wakeup_one(io_test); in nvme_ns_io_test()
229 atomic_subtract_int(&io_test->td_active, 1); in nvme_ns_io_test()
238 struct nvme_io_test *io_test; in nvme_ns_test() local
243 io_test = (struct nvme_io_test *)arg; in nvme_ns_test()
245 if ((io_test->opc != NVME_OPC_READ) && in nvme_ns_test()
246 (io_test->opc != NVME_OPC_WRITE)) in nvme_ns_test()
249 if (io_test->size % nvme_ns_get_sector_size(ns)) in nvme_ns_test()
254 io_test_internal->opc = io_test->opc; in nvme_ns_test()
256 io_test_internal->td_active = io_test->num_threads; in nvme_ns_test()
257 io_test_internal->time = io_test->time; in nvme_ns_test()
258 io_test_internal->size = io_test->size; in nvme_ns_test()
259 io_test_internal->flags = io_test->flags; in nvme_ns_test()
268 for (i = 0; i < io_test->num_threads; i++) in nvme_ns_test()
272 tsleep(io_test_internal, 0, "nvme_test", io_test->time * 2 * hz); in nvme_ns_test()
277 memcpy(io_test->io_completed, io_test_internal->io_completed, in nvme_ns_test()
278 sizeof(io_test->io_completed)); in nvme_ns_test()