The following changes since commit 39d13e67ef1f4b327c68431f8daf033a03920117: backend: check if we need to update rusage stats, if stat_mutex is busy (2016-08-26 14:39:30 -0600) are available in the git repository at: git://git.kernel.dk/fio.git master for you to fetch changes up to 32bc83ddb4adb6b19500f2f6acec8c591feaae26: jesd219: fix alignment (2016-08-29 15:43:27 -0600) ---------------------------------------------------------------- Jeff Furlong (1): jesd219: fix alignment Jens Axboe (3): trim: convert to bool filelock: bool conversion FIO-VERSION-GEN: fix dirty repo tracking FIO-VERSION-GEN | 4 +--- examples/jesd219.fio | 1 + filelock.c | 14 +++++++------- filelock.h | 4 +++- io_u.c | 2 +- trim.c | 14 +++++++------- trim.h | 12 ++++++------ 7 files changed, 26 insertions(+), 25 deletions(-) --- Diff of recent changes: diff --git a/FIO-VERSION-GEN b/FIO-VERSION-GEN index 7065a57..d19dcca 100755 --- a/FIO-VERSION-GEN +++ b/FIO-VERSION-GEN @@ -15,7 +15,7 @@ elif test -d .git -o -f .git && VN=`git describe --match "fio-[0-9]*" --abbrev=4 HEAD 2>/dev/null` && case "$VN" in *$LF*) (exit 1) ;; - v[0-9]*) + fio-[0-9]*) git update-index -q --refresh test -z "`git diff-index --name-only HEAD --`" || VN="$VN-dirty" ;; @@ -38,5 +38,3 @@ test "$VN" = "$VC" || { echo >&2 "FIO_VERSION = $VN" echo "FIO_VERSION = $VN" >$GVF } - - diff --git a/examples/jesd219.fio b/examples/jesd219.fio index ab2c40e..24f16f7 100644 --- a/examples/jesd219.fio +++ b/examples/jesd219.fio @@ -14,6 +14,7 @@ rwmixwrite=60 iodepth=256 numjobs=4 bssplit=512/4:1024/1:1536/1:2048/1:2560/1:3072/1:3584/1:4k/67:8k/10:16k/7:32k/3:64k/3 +blockalign=4k random_distribution=zoned:50/5:30/15:20/80 filename=/dev/nvme0n1 group_reporting=1 diff --git a/filelock.c b/filelock.c index b113007..6e84970 100644 --- a/filelock.c +++ b/filelock.c @@ -165,7 +165,7 @@ static struct fio_filelock *fio_hash_get(uint32_t hash, int trylock) return ff; } -static int __fio_lock_file(const char *fname, int trylock) +static bool __fio_lock_file(const char *fname, int trylock) { struct fio_filelock *ff; uint32_t hash; @@ -180,16 +180,16 @@ static int __fio_lock_file(const char *fname, int trylock) if (!ff) { assert(!trylock); - return 1; + return true; } if (!trylock) { fio_mutex_down(&ff->lock); - return 0; + return false; } if (!fio_mutex_down_trylock(&ff->lock)) - return 0; + return false; fio_mutex_down(&fld->lock); @@ -206,13 +206,13 @@ static int __fio_lock_file(const char *fname, int trylock) if (ff) { fio_mutex_down(&ff->lock); - return 0; + return false; } - return 1; + return true; } -int fio_trylock_file(const char *fname) +bool fio_trylock_file(const char *fname) { return __fio_lock_file(fname, 1); } diff --git a/filelock.h b/filelock.h index 97d13b7..4551bb0 100644 --- a/filelock.h +++ b/filelock.h @@ -1,8 +1,10 @@ #ifndef FIO_LOCK_FILE_H #define FIO_LOCK_FILE_H +#include "lib/types.h" + extern void fio_lock_file(const char *); -extern int fio_trylock_file(const char *); +extern bool fio_trylock_file(const char *); extern void fio_unlock_file(const char *); extern int fio_filelock_init(void); diff --git a/io_u.c b/io_u.c index dcf7a40..b6d530f 100644 --- a/io_u.c +++ b/io_u.c @@ -1510,7 +1510,7 @@ static bool check_get_trim(struct thread_data *td, struct io_u *io_u) get_trim = 1; } - if (get_trim && !get_next_trim(td, io_u)) + if (get_trim && get_next_trim(td, io_u)) return true; } diff --git a/trim.c b/trim.c index 4345541..78cf672 100644 --- a/trim.c +++ b/trim.c @@ -11,7 +11,7 @@ #include "trim.h" #ifdef FIO_HAVE_TRIM -int get_next_trim(struct thread_data *td, struct io_u *io_u) +bool get_next_trim(struct thread_data *td, struct io_u *io_u) { struct io_piece *ipo; @@ -19,9 +19,9 @@ int get_next_trim(struct thread_data *td, struct io_u *io_u) * this io_u is from a requeue, we already filled the offsets */ if (io_u->file) - return 0; + return true; if (flist_empty(&td->trim_list)) - return 1; + return false; assert(td->trim_entries); ipo = flist_first_entry(&td->trim_list, struct io_piece, trim_list); @@ -53,7 +53,7 @@ int get_next_trim(struct thread_data *td, struct io_u *io_u) if (r) { dprint(FD_VERIFY, "failed file %s open\n", io_u->file->file_name); - return 1; + return false; } } @@ -64,17 +64,17 @@ int get_next_trim(struct thread_data *td, struct io_u *io_u) io_u->xfer_buflen = io_u->buflen; dprint(FD_VERIFY, "get_next_trim: ret io_u %p\n", io_u); - return 0; + return true; } -int io_u_should_trim(struct thread_data *td, struct io_u *io_u) +bool io_u_should_trim(struct thread_data *td, struct io_u *io_u) { unsigned long long val; uint64_t frand_max; unsigned long r; if (!td->o.trim_percentage) - return 0; + return false; frand_max = rand_max(&td->trim_state); r = __rand(&td->trim_state); diff --git a/trim.h b/trim.h index 6584606..37f5d7c 100644 --- a/trim.h +++ b/trim.h @@ -4,8 +4,8 @@ #include "fio.h" #ifdef FIO_HAVE_TRIM -extern int __must_check get_next_trim(struct thread_data *td, struct io_u *io_u); -extern int io_u_should_trim(struct thread_data *td, struct io_u *io_u); +extern bool __must_check get_next_trim(struct thread_data *td, struct io_u *io_u); +extern bool io_u_should_trim(struct thread_data *td, struct io_u *io_u); /* * Determine whether a given io_u should be logged for verify or @@ -20,13 +20,13 @@ static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ip } #else -static inline int get_next_trim(struct thread_data *td, struct io_u *io_u) +static inline bool get_next_trim(struct thread_data *td, struct io_u *io_u) { - return 1; + return false; } -static inline int io_u_should_trim(struct thread_data *td, struct io_u *io_u) +static inline bool io_u_should_trim(struct thread_data *td, struct io_u *io_u) { - return 0; + return false; } static inline void remove_trim_entry(struct thread_data *td, struct io_piece *ipo) { -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html