summaryrefslogtreecommitdiff
path: root/file.h
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2016-05-16 18:09:54 -0600
committerJens Axboe <axboe@fb.com>2016-05-16 18:09:54 -0600
commit8c07860de982fabaaf41d44c22aa86aba2539b58 (patch)
tree9ef97b16b2cb527af1b9403d01744436e89f64d5 /file.h
parent8348daf915d4b2c3ec95a16ad803e9e42eb2bfda (diff)
downloadfio-8c07860de982fabaaf41d44c22aa86aba2539b58.tar.gz
fio-8c07860de982fabaaf41d44c22aa86aba2539b58.tar.bz2
Add support for non-uniformly random file service type
Similar options to random_distribution, this is just for the selection of files. Like that option, you can do: file_service_type=zipf:1.2 and get files selected through a zipfian distribution. This extends the concept of hot and cold IO regions to have hotter and colder files as well. Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'file.h')
-rw-r--r--file.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/file.h b/file.h
index e7563b84..0cf622fc 100644
--- a/file.h
+++ b/file.h
@@ -39,13 +39,20 @@ enum file_lock_mode {
};
/*
- * roundrobin available files, or choose one at random, or do each one
- * serially.
+ * How fio chooses what file to service next. Choice of uniformly random, or
+ * some skewed random variants, or just sequentially go through them or
+ * roundrobing.
*/
enum {
- FIO_FSERVICE_RANDOM = 1,
- FIO_FSERVICE_RR = 2,
- FIO_FSERVICE_SEQ = 3,
+ FIO_FSERVICE_RANDOM = 1,
+ FIO_FSERVICE_RR = 2,
+ FIO_FSERVICE_SEQ = 3,
+ __FIO_FSERVICE_NONUNIFORM = 0x100,
+ FIO_FSERVICE_ZIPF = __FIO_FSERVICE_NONUNIFORM | 4,
+ FIO_FSERVICE_PARETO = __FIO_FSERVICE_NONUNIFORM | 5,
+ FIO_FSERVICE_GAUSS = __FIO_FSERVICE_NONUNIFORM | 6,
+
+ FIO_FSERVICE_SHIFT = 10,
};
/*