X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=stat.c;h=30a2c1e749530c987e3efd0649d519b789ab6681;hb=75dc383e9d05369c830559496afa382178905e39;hp=9a30bea4d01cf57a710ed8277b23ec336ea3c0d8;hpb=0f38bbef532ef9da0d43382dca58a20e57c63dc1;p=fio.git diff --git a/stat.c b/stat.c index 9a30bea4..30a2c1e7 100644 --- a/stat.c +++ b/stat.c @@ -510,7 +510,9 @@ static int block_state_category(int block_state) case BLOCK_STATE_TRIM_FAILURE: return 2; default: + /* Silence compile warning on some BSDs and have a return */ assert(0); + return -1; } } @@ -1960,6 +1962,8 @@ void add_clat_sample(struct thread_data *td, enum fio_ddir ddir, if (!ddir_rw(ddir)) return; + td_io_u_lock(td); + add_stat_sample(&ts->clat_stat[ddir], usec); if (td->clat_log) @@ -1967,6 +1971,8 @@ void add_clat_sample(struct thread_data *td, enum fio_ddir ddir, if (ts->clat_percentiles) add_clat_percentile_sample(ts, usec, ddir); + + td_io_u_unlock(td); } void add_slat_sample(struct thread_data *td, enum fio_ddir ddir, @@ -1977,10 +1983,14 @@ void add_slat_sample(struct thread_data *td, enum fio_ddir ddir, if (!ddir_rw(ddir)) return; + td_io_u_lock(td); + add_stat_sample(&ts->slat_stat[ddir], usec); if (td->slat_log) add_log_sample(td, td->slat_log, usec, ddir, bs, offset); + + td_io_u_unlock(td); } void add_lat_sample(struct thread_data *td, enum fio_ddir ddir, @@ -1991,10 +2001,14 @@ void add_lat_sample(struct thread_data *td, enum fio_ddir ddir, if (!ddir_rw(ddir)) return; + td_io_u_lock(td); + add_stat_sample(&ts->lat_stat[ddir], usec); if (td->lat_log) add_log_sample(td, td->lat_log, usec, ddir, bs, offset); + + td_io_u_unlock(td); } void add_bw_sample(struct thread_data *td, enum fio_ddir ddir, unsigned int bs,