projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'fio-docs-ci' of https://github.com/vincentkfu/fio
[fio.git]
/
fio.h
diff --git
a/fio.h
b/fio.h
index ee582a7241f1710bcd3b82681932c764f8cd14df..7b0ca8435978f7eb1216d287584c780941fe4049 100644
(file)
--- a/
fio.h
+++ b/
fio.h
@@
-47,6
+47,7
@@
#include "workqueue.h"
#include "steadystate.h"
#include "lib/nowarn_snprintf.h"
#include "workqueue.h"
#include "steadystate.h"
#include "lib/nowarn_snprintf.h"
+#include "dedupe.h"
#ifdef CONFIG_SOLARISAIO
#include <sys/asynch.h>
#ifdef CONFIG_SOLARISAIO
#include <sys/asynch.h>
@@
-140,6
+141,7
@@
enum {
FIO_RAND_POISSON2_OFF,
FIO_RAND_POISSON3_OFF,
FIO_RAND_PRIO_CMDS,
FIO_RAND_POISSON2_OFF,
FIO_RAND_POISSON3_OFF,
FIO_RAND_PRIO_CMDS,
+ FIO_RAND_DEDUPE_WORKING_SET_IX,
FIO_RAND_NR_OFFS,
};
FIO_RAND_NR_OFFS,
};
@@
-149,6
+151,9
@@
enum {
RATE_PROCESS_LINEAR = 0,
RATE_PROCESS_POISSON = 1,
RATE_PROCESS_LINEAR = 0,
RATE_PROCESS_POISSON = 1,
+
+ THINKTIME_BLOCKS_TYPE_COMPLETE = 0,
+ THINKTIME_BLOCKS_TYPE_ISSUE = 1,
};
enum {
};
enum {
@@
-256,9
+261,14
@@
struct thread_data {
struct frand_state buf_state;
struct frand_state buf_state_prev;
struct frand_state buf_state;
struct frand_state buf_state_prev;
+ struct frand_state buf_state_ret;
struct frand_state dedupe_state;
struct frand_state zone_state;
struct frand_state prio_state;
struct frand_state dedupe_state;
struct frand_state zone_state;
struct frand_state prio_state;
+ struct frand_state dedupe_working_set_index_state;
+ struct frand_state *dedupe_working_set_states;
+
+ unsigned long long num_unique_pages;
struct zone_split_index **zone_state_index;
unsigned int num_open_zones;
struct zone_split_index **zone_state_index;
unsigned int num_open_zones;
@@
-270,6
+280,11
@@
struct thread_data {
int shm_id;
int shm_id;
+ /*
+ * Job default IO priority set with prioclass and prio options.
+ */
+ unsigned int ioprio;
+
/*
* IO engine hooks, contains everything needed to submit an io_u
* to any of the available IO engines.
/*
* IO engine hooks, contains everything needed to submit an io_u
* to any of the available IO engines.
@@
-281,7
+296,6
@@
struct thread_data {
* IO engine private data and dlhandle.
*/
void *io_ops_data;
* IO engine private data and dlhandle.
*/
void *io_ops_data;
- void *io_ops_dlhandle;
/*
* Queue depth of io_u's that fio MIGHT do
/*
* Queue depth of io_u's that fio MIGHT do
@@
-355,6
+369,10
@@
struct thread_data {
struct fio_sem *sem;
uint64_t bytes_done[DDIR_RWDIR_CNT];
struct fio_sem *sem;
uint64_t bytes_done[DDIR_RWDIR_CNT];
+ uint64_t *thinktime_blocks_counter;
+ struct timespec last_thinktime;
+ uint64_t last_thinktime_blocks;
+
/*
* State for random io, a bitmap of blocks done vs not done
*/
/*
* State for random io, a bitmap of blocks done vs not done
*/
@@
-362,7
+380,7
@@
struct thread_data {
struct timespec start; /* start of this loop */
struct timespec epoch; /* time job was started */
struct timespec start; /* start of this loop */
struct timespec epoch; /* time job was started */
- unsigned long long
unix_epoch; /* Time job was started, unix
epoch based. */
+ unsigned long long
alternate_epoch; /* Time job was started, clock_gettime's clock_id
epoch based. */
struct timespec last_issue;
long time_offset;
struct timespec ts_cache;
struct timespec last_issue;
long time_offset;
struct timespec ts_cache;
@@
-409,6
+427,9
@@
struct thread_data {
*/
struct flist_head io_log_list;
FILE *io_log_rfile;
*/
struct flist_head io_log_list;
FILE *io_log_rfile;
+ unsigned int io_log_blktrace;
+ unsigned int io_log_blktrace_swap;
+ unsigned long long io_log_blktrace_last_ttime;
unsigned int io_log_current;
unsigned int io_log_checkmark;
unsigned int io_log_highmark;
unsigned int io_log_current;
unsigned int io_log_checkmark;
unsigned int io_log_highmark;