From 127f686514ef8b1d9ab6ed702971b205454974e6 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Thu, 15 Mar 2007 12:09:57 +0100 Subject: [PATCH] Move setup_rate() out of log.c Dunno why it ended up in there, doesn't make any sense. Signed-off-by: Jens Axboe --- fio.h | 1 - init.c | 32 ++++++++++++++++++++++++++++++++ log.c | 32 -------------------------------- 3 files changed, 32 insertions(+), 33 deletions(-) diff --git a/fio.h b/fio.h index a6adcb7b..e1b35ea4 100644 --- a/fio.h +++ b/fio.h @@ -635,7 +635,6 @@ extern void disk_util_timer_arm(void); extern void setup_log(struct io_log **); extern void finish_log(struct thread_data *, struct io_log *, const char *); extern void __finish_log(struct io_log *, const char *); -extern int setup_rate(struct thread_data *); extern struct io_log *agg_io_log[2]; extern int write_bw_log; extern void add_agg_sample(unsigned long, enum fio_ddir); diff --git a/init.c b/init.c index 15e96aac..b044e289 100644 --- a/init.c +++ b/init.c @@ -131,6 +131,38 @@ static void put_job(struct thread_data *td) thread_number--; } +static int setup_rate(struct thread_data *td) +{ + unsigned long nr_reads_per_msec; + unsigned long long rate; + unsigned int bs; + + if (!td->rate && !td->rate_iops) + return 0; + + if (td_rw(td)) + bs = td->rw_min_bs; + else if (td_read(td)) + bs = td->min_bs[DDIR_READ]; + else + bs = td->min_bs[DDIR_WRITE]; + + if (td->rate) { + rate = td->rate; + nr_reads_per_msec = (rate * 1024 * 1000LL) / bs; + } else + nr_reads_per_msec = td->rate_iops * 1000UL; + + if (!nr_reads_per_msec) { + log_err("rate lower than supported\n"); + return -1; + } + + td->rate_usec_cycle = 1000000000ULL / nr_reads_per_msec; + td->rate_pending_usleep = 0; + return 0; +} + /* * Lazy way of fixing up options that depend on each other. We could also * define option callback handlers, but this is easier. diff --git a/log.c b/log.c index df2edc6b..298716ba 100644 --- a/log.c +++ b/log.c @@ -183,38 +183,6 @@ int init_iolog(struct thread_data *td) return ret; } -int setup_rate(struct thread_data *td) -{ - unsigned long long rate; - int nr_reads_per_msec; - unsigned int bs; - - if (!td->rate && !td->rate_iops) - return 0; - - if (td_rw(td)) - bs = td->rw_min_bs; - else if (td_read(td)) - bs = td->min_bs[DDIR_READ]; - else - bs = td->min_bs[DDIR_WRITE]; - - if (td->rate) { - rate = td->rate; - nr_reads_per_msec = (rate * 1024 * 1000) / bs; - } else - nr_reads_per_msec = td->rate_iops * 1000; - - if (!nr_reads_per_msec) { - log_err("rate lower than supported\n"); - return -1; - } - - td->rate_usec_cycle = 1000000000ULL / nr_reads_per_msec; - td->rate_pending_usleep = 0; - return 0; -} - void setup_log(struct io_log **log) { struct io_log *l = malloc(sizeof(*l)); -- 2.25.1