diff options
author | Jens Axboe <axboe@kernel.dk> | 2017-09-05 15:37:36 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-09-05 15:37:36 -0600 |
commit | 83a9e706745e5a5affd5475b884e42d0100f783f (patch) | |
tree | 8c46a4a7b0696dcefa91b8ad4631e2e450d1b857 | |
parent | a2b110536d42d112a29d6bbd27f068c20e77c475 (diff) | |
parent | f20a86a792dd13d66b0f7aa1f8ec05f9bf5f149d (diff) | |
download | fio-83a9e706745e5a5affd5475b884e42d0100f783f.tar.gz |
Merge branch 'windows_io_hint' of https://github.com/sitsofe/fio
-rw-r--r-- | engines/windowsaio.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/engines/windowsaio.c b/engines/windowsaio.c index c4c5abd4..314eaadf 100644 --- a/engines/windowsaio.c +++ b/engines/windowsaio.c @@ -169,13 +169,26 @@ static int fio_windowsaio_open_file(struct thread_data *td, struct fio_file *f) /* * Inform Windows whether we're going to be doing sequential or - * random io so it can tune the Cache Manager + * random IO so it can tune the Cache Manager */ - if (td->o.td_ddir == TD_DDIR_READ || - td->o.td_ddir == TD_DDIR_WRITE) - flags |= FILE_FLAG_SEQUENTIAL_SCAN; - else + switch (td->o.fadvise_hint) { + case F_ADV_TYPE: + if (td_random(td)) + flags |= FILE_FLAG_RANDOM_ACCESS; + else + flags |= FILE_FLAG_SEQUENTIAL_SCAN; + break; + case F_ADV_RANDOM: flags |= FILE_FLAG_RANDOM_ACCESS; + break; + case F_ADV_SEQUENTIAL: + flags |= FILE_FLAG_SEQUENTIAL_SCAN; + break; + case F_ADV_NONE: + break; + default: + log_err("fio: unknown fadvise type %d\n", td->o.fadvise_hint); + } if (!td_write(td) || read_only) access = GENERIC_READ; |