Lines Matching refs:io_test
86 struct nvme_io_test_internal *io_test = arg; in nvme_ns_bio_test() local
97 buf = malloc(io_test->size, M_NVME, M_WAITOK); in nvme_ns_bio_test()
98 idx = atomic_fetchadd_int(&io_test->td_idx, 1); in nvme_ns_bio_test()
99 dev = io_test->ns->cdev; in nvme_ns_bio_test()
101 offset = idx * 2048ULL * nvme_ns_get_sector_size(io_test->ns); in nvme_ns_bio_test()
107 bio->bio_cmd = (io_test->opc == NVME_OPC_READ) ? in nvme_ns_bio_test()
113 bio->bio_bcount = io_test->size; in nvme_ns_bio_test()
115 if (io_test->flags & NVME_TEST_FLAG_REFTHREAD) { in nvme_ns_bio_test()
128 if (io_test->flags & NVME_TEST_FLAG_REFTHREAD) { in nvme_ns_bio_test()
140 timevalsub(&t, &io_test->start); in nvme_ns_bio_test()
142 if (t.tv_sec >= io_test->time) in nvme_ns_bio_test()
145 offset += io_test->size; in nvme_ns_bio_test()
146 if ((offset + io_test->size) > nvme_ns_get_size(io_test->ns)) in nvme_ns_bio_test()
150 io_test->io_completed[idx] = io_completed; in nvme_ns_bio_test()
151 wakeup_one(io_test); in nvme_ns_bio_test()
155 atomic_subtract_int(&io_test->td_active, 1); in nvme_ns_bio_test()
202 struct nvme_io_test_internal *io_test = arg; in nvme_ns_io_test() local
208 tth->ns = io_test->ns; in nvme_ns_io_test()
209 tth->opc = io_test->opc; in nvme_ns_io_test()
210 memcpy(&tth->start, &io_test->start, sizeof(tth->start)); in nvme_ns_io_test()
211 tth->buf = malloc(io_test->size, M_NVME, M_WAITOK); in nvme_ns_io_test()
212 tth->size = io_test->size; in nvme_ns_io_test()
213 tth->time = io_test->time; in nvme_ns_io_test()
214 tth->idx = atomic_fetchadd_int(&io_test->td_idx, 1); in nvme_ns_io_test()
225 io_test->io_completed[tth->idx] = tth->io_completed; in nvme_ns_io_test()
226 wakeup_one(io_test); in nvme_ns_io_test()
231 atomic_subtract_int(&io_test->td_active, 1); in nvme_ns_io_test()
240 struct nvme_io_test *io_test; in nvme_ns_test() local
245 io_test = (struct nvme_io_test *)arg; in nvme_ns_test()
247 if ((io_test->opc != NVME_OPC_READ) && in nvme_ns_test()
248 (io_test->opc != NVME_OPC_WRITE)) in nvme_ns_test()
251 if (io_test->size % nvme_ns_get_sector_size(ns)) in nvme_ns_test()
256 io_test_internal->opc = io_test->opc; in nvme_ns_test()
258 io_test_internal->td_active = io_test->num_threads; in nvme_ns_test()
259 io_test_internal->time = io_test->time; in nvme_ns_test()
260 io_test_internal->size = io_test->size; in nvme_ns_test()
261 io_test_internal->flags = io_test->flags; in nvme_ns_test()
270 for (i = 0; i < io_test->num_threads; i++) in nvme_ns_test()
274 tsleep(io_test_internal, 0, "nvme_test", io_test->time * 2 * hz); in nvme_ns_test()
279 memcpy(io_test->io_completed, io_test_internal->io_completed, in nvme_ns_test()
280 sizeof(io_test->io_completed)); in nvme_ns_test()