X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.h;h=9131792f6548b8fc916349b1f62d1242e8cd6f67;hp=ff4668e80f3a0d884e53cd4270c35b5813f9db58;hb=59fd3f22752ed32f659254f59c218362090922ff;hpb=3b8b7135602a4d3a7132fee10da9c1203ab643ad diff --git a/fio.h b/fio.h index ff4668e8..9131792f 100644 --- a/fio.h +++ b/fio.h @@ -195,6 +195,8 @@ enum { VERIFY_MD5, /* md5 sum data blocks */ VERIFY_CRC64, /* crc64 sum data blocks */ VERIFY_CRC32, /* crc32 sum data blocks */ + VERIFY_CRC32C, /* crc32c sum data blocks */ + VERIFY_CRC32C_INTEL, /* crc32c sum data blocks with hw */ VERIFY_CRC16, /* crc16 sum data blocks */ VERIFY_CRC7, /* crc7 sum data blocks */ VERIFY_SHA256, /* sha256 sum data blocks */ @@ -471,6 +473,7 @@ struct thread_options { unsigned int fsync_blocks; unsigned int start_delay; unsigned long long timeout; + unsigned long long ramp_time; unsigned int overwrite; unsigned int bw_avg_time; unsigned int loops; @@ -607,6 +610,7 @@ struct thread_data { struct timeval rw_end[2]; struct timeval last_issue; unsigned int rw_end_set[2]; + unsigned int ramp_time_over; /* * read/write mixed workload state @@ -815,6 +819,8 @@ extern void rate_throttle(struct thread_data *, unsigned long, unsigned int); extern void fill_start_time(struct timeval *); extern void fio_gettime(struct timeval *, void *); extern void set_genesis_time(void); +extern int ramp_time_over(struct thread_data *); +extern int in_ramp_time(struct thread_data *); /* * Init/option functions @@ -881,6 +887,7 @@ enum { TD_NOT_CREATED = 0, TD_CREATED, TD_INITIALIZED, + TD_RAMP, TD_RUNNING, TD_VERIFYING, TD_FSYNCING, @@ -888,6 +895,8 @@ enum { TD_REAPED, }; +extern void td_set_runstate(struct thread_data *, int); + /* * Verify helpers */ @@ -922,6 +931,11 @@ extern void io_u_fill_buffer(struct thread_data *td, struct io_u *, unsigned int void io_u_mark_complete(struct thread_data *, unsigned int); void io_u_mark_submit(struct thread_data *, unsigned int); +/* + * Reset stats after ramp time completes + */ +extern void reset_all_stats(struct thread_data *); + /* * io engine entry points */