/external/fio/ |
H A D | io_u_queue.h | 6 struct io_u; 9 struct io_u **io_us; 13 static inline struct io_u *io_u_qpop(struct io_u_queue *q) 17 struct io_u *io_u = q->io_us[next]; local 20 return io_u; 26 static inline void io_u_qpush(struct io_u_queue *q, struct io_u *io_u) argument 28 q->io_us[q->nr++] = io_u; 36 #define io_u_qiter(q, io_u, 52 io_u_rpush(struct io_u_ring *r, struct io_u *io_u) argument 66 struct io_u *io_u = r->ring[r->tail]; local [all...] |
H A D | trim.h | 7 extern int __must_check get_next_trim(struct thread_data *td, struct io_u *io_u); 8 extern int io_u_should_trim(struct thread_data *td, struct io_u *io_u); 11 * Determine whether a given io_u should be logged for verify or 23 static inline int get_next_trim(struct thread_data *td, struct io_u *io_u) argument 27 static inline int io_u_should_trim(struct thread_data *td, struct io_u *io_u) argument
|
H A D | trim.c | 14 int get_next_trim(struct thread_data *td, struct io_u *io_u) argument 19 * this io_u is from a requeue, we already filled the offsets 21 if (io_u->file) 30 io_u->offset = ipo->offset; 31 io_u->buflen = ipo->len; 32 io_u->file = ipo->file; 50 if (!fio_file_open(io_u->file)) { 51 int r = td_io_open_file(td, io_u->file); 55 io_u 70 io_u_should_trim(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | ioengine.h | 34 struct io_u { struct 93 int (*end_io)(struct thread_data *, struct io_u **); 137 int (*prep)(struct thread_data *, struct io_u *); 138 int (*queue)(struct thread_data *, struct io_u *); 141 struct io_u *(*event)(struct thread_data *, int); 142 int (*cancel)(struct thread_data *, struct io_u *); 150 int (*io_u_init)(struct thread_data *, struct io_u *); 151 void (*io_u_free)(struct thread_data *, struct io_u *); 182 extern int __must_check td_io_prep(struct thread_data *, struct io_u *); 183 extern int __must_check td_io_queue(struct thread_data *, struct io_u *); 224 dprint_io_u(struct io_u *io_u, const char *p) argument 242 acct_ddir(struct io_u *io_u) argument [all...] |
H A D | io_u.c | 36 static void mark_random_map(struct thread_data *td, struct io_u *io_u) argument 39 struct fio_file *f = io_u->file; 43 block = (io_u->offset - f->file_offset) / (uint64_t) min_bs; 44 nr_blocks = (io_u->buflen + min_bs - 1) / min_bs; 46 if (!(io_u->flags & IO_U_F_BUSY_OK)) 49 if ((nr_blocks * min_bs) < io_u->buflen) 50 io_u->buflen = nr_blocks * min_bs; 299 static int get_next_block(struct thread_data *td, struct io_u *io_u, argument 368 __get_next_offset(struct thread_data *td, struct io_u *io_u, unsigned int *is_random) argument 403 get_next_offset(struct thread_data *td, struct io_u *io_u, unsigned int *is_random) argument 416 io_u_fits(struct thread_data *td, struct io_u *io_u, unsigned int buflen) argument 424 __get_next_buflen(struct thread_data *td, struct io_u *io_u, unsigned int is_random) argument 484 get_next_buflen(struct thread_data *td, struct io_u *io_u, unsigned int is_random) argument 661 set_rw_ddir(struct thread_data *td, struct io_u *io_u) argument 680 put_io_u(struct thread_data *td, struct io_u *io_u) argument 697 clear_io_u(struct thread_data *td, struct io_u *io_u) argument 703 requeue_io_u(struct thread_data *td, struct io_u **io_u) argument 725 fill_io_u(struct thread_data *td, struct io_u *io_u) argument 1108 set_io_u_file(struct thread_data *td, struct io_u *io_u) argument 1293 struct io_u *io_u = NULL; local 1336 check_get_trim(struct thread_data *td, struct io_u *io_u) argument 1362 check_get_verify(struct thread_data *td, struct io_u *io_u) argument 1395 small_content_scramble(struct io_u *io_u) argument 1435 struct io_u *io_u; local 1527 io_u_log_error(struct thread_data *td, struct io_u *io_u) argument 1551 account_io_completion(struct thread_data *td, struct io_u *io_u, struct io_completion_data *icd, const enum fio_ddir idx, unsigned int bytes) argument 1607 struct io_u *io_u = *io_u_ptr; local 1741 struct io_u *io_u; local 1757 io_u_sync_complete(struct thread_data *td, struct io_u *io_u, uint64_t *bytes) argument 1828 io_u_queued(struct thread_data *td, struct io_u *io_u) argument 1908 io_u_fill_buffer(struct thread_data *td, struct io_u *io_u, unsigned int min_write, unsigned int max_bs) argument [all...] |
H A D | ioengines.c | 203 int td_io_prep(struct thread_data *td, struct io_u *io_u) argument 205 dprint_io_u(io_u, "prep"); 206 fio_ro_check(td, io_u); 208 lock_file(td, io_u->file, io_u->ddir); 211 int ret = td->io_ops->prep(td, io_u); 213 dprint(FD_IO, "->prep(%p)=%d\n", io_u, ret); 215 unlock_file(td, io_u->file); 265 int td_io_queue(struct thread_data *td, struct io_u *io_ argument 546 do_io_u_sync(const struct thread_data *td, struct io_u *io_u) argument 572 do_io_u_trim(const struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | verify.c | 28 static void populate_hdr(struct thread_data *td, struct io_u *io_u, 52 struct io_u *io_u, unsigned long seed, int use_seed) 62 io_u->rand_seed = fill_buffer(td, p, len); 66 if (io_u->buf_filled_len >= len) { 73 io_u->buf_filled_len = len; 76 static unsigned int get_hdr_inc(struct thread_data *td, struct io_u *io_u) argument 80 hdr_inc = io_u 51 fill_verify_pattern(struct thread_data *td, void *p, unsigned int len, struct io_u *io_u, unsigned long seed, int use_seed) argument 87 fill_pattern_headers(struct thread_data *td, struct io_u *io_u, unsigned long seed, int use_seed) argument 201 struct io_u *io_u; member in struct:vcont 271 struct io_u *io_u = vc->io_u; local 334 struct io_u *io_u = vc->io_u; local 380 struct io_u *io_u = vc->io_u; local 650 struct io_u *io_u = *io_u_ptr; local 669 verify_trimmed_io_u(struct thread_data *td, struct io_u *io_u) argument 703 verify_header(struct io_u *io_u, struct verify_header *hdr, unsigned int hdr_num, unsigned int hdr_len) argument 744 struct io_u *io_u = *io_u_ptr; local 854 fill_meta(struct verify_header *hdr, struct thread_data *td, struct io_u *io_u, unsigned int header_num) argument 961 populate_hdr(struct thread_data *td, struct io_u *io_u, struct verify_header *hdr, unsigned int header_num, unsigned int header_len) argument 1051 populate_verify_io_u(struct thread_data *td, struct io_u *io_u) argument 1061 get_next_verify(struct thread_data *td, struct io_u *io_u) argument 1157 struct io_u *io_u; local 1540 verify_state_should_stop(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | backend.c | 266 struct io_u *io_u; local 269 io_u_qiter(&td->io_u_all, io_u, i) { 270 if (io_u->flags & IO_U_F_FLIGHT) { 271 r = td->io_ops->cancel(td, io_u); 273 put_io_u(td, io_u); 288 struct io_u *io_u = __get_io_u(td); local 291 if (!io_u) 294 io_u 457 struct io_u *io_u; local 751 struct io_u *io_u; local 995 struct io_u *io_u; local 1017 struct io_u *io_u; local 1266 struct io_u *io_u; local [all...] |
/external/fio/engines/ |
H A D | glusterfs_async.c | 10 struct io_u *io_u; member in struct:fio_gf_iou 14 static struct io_u *fio_gf_event(struct thread_data *td, int event) 27 struct io_u *io_u; local 32 io_u_qiter(&td->io_u_all, io_u, i) { 35 if (!(io_u->flags & IO_U_F_FLIGHT)) 38 io = io_u->engine_data; 41 g->aio_events[events] = io_u; 59 static void fio_gf_io_u_free(struct thread_data *td, struct io_u *io_ argument 71 fio_gf_io_u_init(struct thread_data *td, struct io_u *io_u) argument 92 struct io_u *io_u = data; local 99 fio_gf_async_queue(struct thread_data fio_unused * td, struct io_u *io_u) argument [all...] |
H A D | glusterfs_sync.c | 11 static int fio_gf_prep(struct thread_data *td, struct io_u *io_u) argument 13 struct fio_file *f = io_u->file; 18 if (!ddir_rw(io_u->ddir)) 21 if (LAST_POS(f) != -1ULL && LAST_POS(f) == io_u->offset) 24 if (glfs_lseek(g->fd, io_u->offset, SEEK_SET) < 0) { 32 static int fio_gf_queue(struct thread_data *td, struct io_u *io_u) argument 37 dprint(FD_FILE, "fio queue len %lu\n", io_u->xfer_buflen); 38 fio_ro_check(td, io_u); [all...] |
H A D | guasi.c | 37 struct io_u **io_us; 42 static int fio_guasi_prep(struct thread_data fio_unused *td, struct io_u *io_u) argument 45 GDBG_PRINT(("fio_guasi_prep(%p)\n", io_u)); 46 io_u->greq = NULL; 51 static struct io_u *fio_guasi_event(struct thread_data *td, int event) 54 struct io_u *io_u; local 62 io_u = rinf.asid; 63 io_u 116 fio_guasi_queue(struct thread_data *td, struct io_u *io_u) argument 134 struct io_u *io_u; local 153 struct io_u *io_u; local 189 fio_guasi_cancel(struct thread_data fio_unused *td, struct io_u *io_u) argument [all...] |
H A D | sync.c | 24 struct io_u **io_us; 34 static int fio_syncio_prep(struct thread_data *td, struct io_u *io_u) argument 36 struct fio_file *f = io_u->file; 38 if (!ddir_rw(io_u->ddir)) 41 if (LAST_POS(f) != -1ULL && LAST_POS(f) == io_u->offset) 44 if (lseek(f->fd, io_u->offset, SEEK_SET) == -1) { 52 static int fio_io_end(struct thread_data *td, struct io_u *io_u, int ret) argument 54 if (io_u 75 fio_pvsyncio_queue(struct thread_data *td, struct io_u *io_u) argument 101 fio_psyncio_queue(struct thread_data *td, struct io_u *io_u) argument 121 fio_syncio_queue(struct thread_data *td, struct io_u *io_u) argument 165 fio_vsyncio_append(struct thread_data *td, struct io_u *io_u) argument 179 fio_vsyncio_set_iov(struct syncio_data *sd, struct io_u *io_u, int idx) argument 192 fio_vsyncio_queue(struct thread_data *td, struct io_u *io_u) argument 235 struct io_u *io_u; local [all...] |
H A D | mmap.c | 86 static int fio_mmapio_prep_limited(struct thread_data *td, struct io_u *io_u) argument 88 struct fio_file *f = io_u->file; 91 if (io_u->buflen > mmap_map_size) { 100 fmd->mmap_off = io_u->offset; 108 static int fio_mmapio_prep_full(struct thread_data *td, struct io_u *io_u) argument 110 struct fio_file *f = io_u->file; 116 if (io_u->offset != (size_t) io_u 132 fio_mmapio_prep(struct thread_data *td, struct io_u *io_u) argument 167 fio_mmapio_queue(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | posixaio.c | 16 struct io_u **aio_events; 64 struct io_u *io_u) 66 struct fio_file *f = io_u->file; 67 int r = aio_cancel(f->fd, &io_u->aiocb); 76 struct io_u *io_u) 78 os_aiocb_t *aiocb = &io_u->aiocb; 79 struct fio_file *f = io_u->file; 82 aiocb->aio_buf = io_u 63 fio_posixaio_cancel(struct thread_data fio_unused *td, struct io_u *io_u) argument 75 fio_posixaio_prep(struct thread_data fio_unused *td, struct io_u *io_u) argument 101 struct io_u *io_u; local 169 fio_posixaio_queue(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | solarisaio.c | 16 struct io_u **aio_events; 23 struct io_u *io_u) 25 return aiocancel(&io_u->resultp); 29 struct io_u *io_u) 33 io_u->resultp.aio_return = AIO_INPROGRESS; 34 io_u->engine_data = sd; 41 struct io_u *io_u; local 22 fio_solarisaio_cancel(struct thread_data fio_unused *td, struct io_u *io_u) argument 28 fio_solarisaio_prep(struct thread_data fio_unused *td, struct io_u *io_u) argument 108 fio_solarisaio_queue(struct thread_data fio_unused *td, struct io_u *io_u) argument [all...] |
H A D | splice.c | 29 static int fio_splice_read_old(struct thread_data *td, struct io_u *io_u) argument 32 struct fio_file *f = io_u->file; 37 offset = io_u->offset; 38 buflen = io_u->xfer_buflen; 39 p = io_u->xfer_buf; 66 return io_u->xfer_buflen; 73 static int fio_splice_read(struct thread_data *td, struct io_u *io_u) argument 76 struct fio_file *f = io_u 167 fio_splice_write(struct thread_data *td, struct io_u *io_u) argument 202 fio_spliceio_queue(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | rbd.c | 13 struct io_u *io_u; member in struct:fio_rbd_iou 23 struct io_u **aio_events; 24 struct io_u **sort_events; 90 rbd->aio_events = calloc(td->o.iodepth, sizeof(struct io_u *)); 94 rbd->sort_events = calloc(td->o.iodepth, sizeof(struct io_u *)); 180 struct io_u *io_u = fri->io_u; local 192 io_u 205 fri_check_complete(struct rbd_data *rbd, struct io_u *io_u, unsigned int *events) argument 222 rbd_io_u_seen(struct io_u *io_u) argument 229 rbd_io_u_wait_complete(struct io_u *io_u) argument 258 struct io_u *io_u; local 333 fio_rbd_queue(struct thread_data *td, struct io_u *io_u) argument 508 fio_rbd_io_u_free(struct thread_data *td, struct io_u *io_u) argument 518 fio_rbd_io_u_init(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | libaio.c | 22 struct io_u **io_us; 68 static int fio_libaio_prep(struct thread_data fio_unused *td, struct io_u *io_u) argument 70 struct fio_file *f = io_u->file; 72 if (io_u->ddir == DDIR_READ) 73 io_prep_pread(&io_u->iocb, f->fd, io_u->xfer_buf, io_u->xfer_buflen, io_u->offset); 74 else if (io_u 86 struct io_u *io_u; local 180 fio_libaio_queue(struct thread_data *td, struct io_u *io_u) argument 230 struct io_u *io_u = io_us[i]; local 307 fio_libaio_cancel(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | skeleton_external.c | 24 * The ->event() hook is called to match an event number with an io_u. 29 static struct io_u *fio_skeleton_event(struct thread_data *td, int event) 47 * The ->cancel() hook attempts to cancel the io_u. Only relevant for 50 static int fio_skeleton_cancel(struct thread_data *td, struct io_u *io_u) argument 56 * The ->queue() hook is responsible for initiating io on the io_u 60 * The io engine must transfer in the direction noted by io_u->ddir 61 * to the buffer pointed to by io_u->xfer_buf for as many bytes as 62 * io_u->xfer_buflen. Residual data count may be set in io_u 65 fio_skeleton_queue(struct thread_data *td, struct io_u *io_u) argument 86 fio_skeleton_prep(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | falloc.c | 73 static int fio_fallocate_queue(struct thread_data *td, struct io_u *io_u) argument 75 struct fio_file *f = io_u->file; 79 fio_ro_check(td, io_u); 81 if (io_u->ddir == DDIR_READ) 83 else if (io_u->ddir == DDIR_WRITE) 85 else if (io_u->ddir == DDIR_TRIM) 88 ret = fallocate(f->fd, flags, io_u->offset, io_u->xfer_buflen); 91 io_u [all...] |
H A D | windowsaio.c | 21 struct io_u *io_u; member in struct:fio_overlapped 26 struct io_u **aio_events; 41 static struct io_u *fio_windowsaio_event(struct thread_data *td, int event); 43 struct io_u *io_u); 62 wd->aio_events = malloc(td->o.iodepth * sizeof(struct io_u*)); 252 static struct io_u* fio_windowsaio_event(struct thread_data *td, int event) 264 struct io_u *io_u; local 309 fio_windowsaio_queue(struct thread_data *td, struct io_u *io_u) argument 368 struct io_u *io_u; local 401 fio_windowsaio_io_u_free(struct thread_data *td, struct io_u *io_u) argument 412 fio_windowsaio_io_u_init(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | sg.c | 25 struct io_u **events; 34 struct io_u *io_u, int fs) 36 struct sgio_cmd *sc = &sd->cmds[io_u->index]; 44 hdr->pack_id = io_u->index; 45 hdr->usr_ptr = io_u; 48 hdr->dxferp = io_u->xfer_buf; 49 hdr->dxfer_len = io_u->xfer_buflen; 161 struct fio_file *f, struct io_u *io_u) 33 sgio_hdr_init(struct sgio_data *sd, struct sg_io_hdr *hdr, struct io_u *io_u, int fs) argument 160 fio_sgio_ioctl_doio(struct thread_data *td, struct fio_file *f, struct io_u *io_u) argument 176 fio_sgio_rw_doio(struct fio_file *f, struct io_u *io_u, int do_sync) argument 195 fio_sgio_doio(struct thread_data *td, struct io_u *io_u, int do_sync) argument 205 fio_sgio_prep(struct thread_data *td, struct io_u *io_u) argument 247 fio_sgio_queue(struct thread_data *td, struct io_u *io_u) argument 284 struct io_u io_u; local [all...] |
H A D | libhdfs.c | 58 static int fio_hdfsio_prep(struct thread_data *td, struct io_u *io_u) argument 74 f_id = (io_u->offset / hd->fsbs) + hd->fid_correction; 85 if (io_u->ddir == DDIR_READ) { 87 } else if (io_u->ddir == DDIR_WRITE) { 97 if (fi->mSize >= hd->fsbs || io_u->ddir == DDIR_WRITE) { 113 static int fio_io_end(struct thread_data *td, struct io_u *io_u, int ret) argument 115 if (ret != (int)io_u->xfer_buflen) { 117 io_u 130 fio_hdfsio_queue(struct thread_data *td, struct io_u *io_u) argument [all...] |
H A D | e4defrag.c | 131 static int fio_e4defrag_queue(struct thread_data *td, struct io_u *io_u) argument 137 struct fio_file *f = io_u->file; 141 fio_ro_check(td, io_u); 147 if (io_u->ddir != DDIR_WRITE) { 148 io_u->error = EINVAL; 153 ret = fallocate(ed->donor_fd, 0, io_u->offset, io_u->xfer_buflen); 160 me.orig_start = io_u->offset / ed->bsz; 162 len = (io_u [all...] |
H A D | binject.c | 24 struct io_u **events; 35 static void binject_buc_init(struct binject_data *bd, struct io_u *io_u) argument 37 struct b_user_cmd *buc = &io_u->buc; 42 buc->buf = (unsigned long) io_u->xfer_buf; 43 buc->len = io_u->xfer_buflen; 44 buc->offset = io_u->offset; 45 buc->usr_ptr = (unsigned long) io_u; 150 bd->events[ev_index] = (struct io_u *) (unsigned long) buc->usr_ptr; 173 static int fio_binject_doio(struct thread_data *td, struct io_u *io_ argument 186 fio_binject_prep(struct thread_data *td, struct io_u *io_u) argument 216 fio_binject_queue(struct thread_data *td, struct io_u *io_u) argument [all...] |