projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'android_cgroup' of https://github.com/omor1/fio
[fio.git]
/
init.c
diff --git
a/init.c
b/init.c
index acdc659879b42656f593ab6dbfc3ad83f36bc041..52a5f0301d196fe11b378fce6e59e41800745126 100644
(file)
--- a/
init.c
+++ b/
init.c
@@
-459,6
+459,7
@@
static struct thread_data *get_new_job(bool global, struct thread_data *parent,
copy_opt_list(td, parent);
td->io_ops = NULL;
copy_opt_list(td, parent);
td->io_ops = NULL;
+ td->io_ops_init = 0;
if (!preserve_eo)
td->eo = NULL;
if (!preserve_eo)
td->eo = NULL;
@@
-522,7
+523,7
@@
static int __setup_rate(struct thread_data *td, enum fio_ddir ddir)
td->rate_next_io_time[ddir] = 0;
td->rate_io_issue_bytes[ddir] = 0;
td->rate_next_io_time[ddir] = 0;
td->rate_io_issue_bytes[ddir] = 0;
- td->last_usec = 0;
+ td->last_usec
[ddir]
= 0;
return 0;
}
return 0;
}
@@
-586,7
+587,7
@@
static int fixup_options(struct thread_data *td)
struct thread_options *o = &td->o;
int ret = 0;
struct thread_options *o = &td->o;
int ret = 0;
-#ifndef
FIO_HAVE_PSHARED_MUTEX
+#ifndef
CONFIG_PSHARED
if (!o->use_thread) {
log_info("fio: this platform does not support process shared"
" mutexes, forcing use of threads. Use the 'thread'"
if (!o->use_thread) {
log_info("fio: this platform does not support process shared"
" mutexes, forcing use of threads. Use the 'thread'"
@@
-619,7
+620,7
@@
static int fixup_options(struct thread_data *td)
/*
* Reads can do overwrites, we always need to pre-create the file
*/
/*
* Reads can do overwrites, we always need to pre-create the file
*/
- if (td_read(td)
|| td_rw(td)
)
+ if (td_read(td))
o->overwrite = 1;
if (!o->min_bs[DDIR_READ])
o->overwrite = 1;
if (!o->min_bs[DDIR_READ])
@@
-764,7
+765,8
@@
static int fixup_options(struct thread_data *td)
}
if (o->pre_read) {
}
if (o->pre_read) {
- o->invalidate_cache = 0;
+ if (o->invalidate_cache)
+ o->invalidate_cache = 0;
if (td_ioengine_flagged(td, FIO_PIPEIO)) {
log_info("fio: cannot pre-read files with an IO engine"
" that isn't seekable. Pre-read disabled.\n");
if (td_ioengine_flagged(td, FIO_PIPEIO)) {
log_info("fio: cannot pre-read files with an IO engine"
" that isn't seekable. Pre-read disabled.\n");
@@
-931,7
+933,9
@@
static void td_fill_rand_seeds_internal(struct thread_data *td, bool use64)
init_rand_seed(&td->file_size_state, td->rand_seeds[FIO_RAND_FILE_SIZE_OFF], use64);
init_rand_seed(&td->trim_state, td->rand_seeds[FIO_RAND_TRIM_OFF], use64);
init_rand_seed(&td->delay_state, td->rand_seeds[FIO_RAND_START_DELAY], use64);
init_rand_seed(&td->file_size_state, td->rand_seeds[FIO_RAND_FILE_SIZE_OFF], use64);
init_rand_seed(&td->trim_state, td->rand_seeds[FIO_RAND_TRIM_OFF], use64);
init_rand_seed(&td->delay_state, td->rand_seeds[FIO_RAND_START_DELAY], use64);
- init_rand_seed(&td->poisson_state, td->rand_seeds[FIO_RAND_POISSON_OFF], 0);
+ init_rand_seed(&td->poisson_state[0], td->rand_seeds[FIO_RAND_POISSON_OFF], 0);
+ init_rand_seed(&td->poisson_state[1], td->rand_seeds[FIO_RAND_POISSON2_OFF], 0);
+ init_rand_seed(&td->poisson_state[2], td->rand_seeds[FIO_RAND_POISSON3_OFF], 0);
init_rand_seed(&td->dedupe_state, td->rand_seeds[FIO_DEDUPE_OFF], false);
init_rand_seed(&td->zone_state, td->rand_seeds[FIO_RAND_ZONE_OFF], false);
init_rand_seed(&td->dedupe_state, td->rand_seeds[FIO_DEDUPE_OFF], false);
init_rand_seed(&td->zone_state, td->rand_seeds[FIO_RAND_ZONE_OFF], false);
@@
-1066,6
+1070,9
@@
static void init_flags(struct thread_data *td)
if (o->verify_async || o->io_submit_mode == IO_MODE_OFFLOAD)
td->flags |= TD_F_NEED_LOCK;
if (o->verify_async || o->io_submit_mode == IO_MODE_OFFLOAD)
td->flags |= TD_F_NEED_LOCK;
+
+ if (o->mem_type == MEM_CUDA_MALLOC)
+ td->flags &= ~TD_F_SCRAMBLE_BUFFERS;
}
static int setup_random_seeds(struct thread_data *td)
}
static int setup_random_seeds(struct thread_data *td)
@@
-1116,7
+1123,7
@@
static char *make_filename(char *buf, size_t buf_size,struct thread_options *o,
if (!o->filename_format || !strlen(o->filename_format)) {
sprintf(buf, "%s.%d.%d", jobname, jobnum, filenum);
if (!o->filename_format || !strlen(o->filename_format)) {
sprintf(buf, "%s.%d.%d", jobname, jobnum, filenum);
- return
NULL
;
+ return
buf
;
}
for (f = &fpre_keywords[0]; f->keyword; f++)
}
for (f = &fpre_keywords[0]; f->keyword; f++)
@@
-1530,10
+1537,10
@@
static int add_job(struct thread_data *td, const char *jobname, int job_add_num,
ddir_str(o->td_ddir));
if (o->bs_is_seq_rand)
ddir_str(o->td_ddir));
if (o->bs_is_seq_rand)
- log_info("bs=
%s-%s,
%s-%s, bs_is_seq_rand, ",
+ log_info("bs=
(R) %s-%s, (W)
%s-%s, bs_is_seq_rand, ",
c1, c2, c3, c4);
else
c1, c2, c3, c4);
else
- log_info("bs=
%s-%s,%s-%s,
%s-%s, ",
+ log_info("bs=
(R) %s-%s, (W) %s-%s, (T)
%s-%s, ",
c1, c2, c3, c4, c5, c6);
log_info("ioengine=%s, iodepth=%u\n",
c1, c2, c3, c4, c5, c6);
log_info("ioengine=%s, iodepth=%u\n",