Move setup_rate() out of log.c
authorJens Axboe <jens.axboe@oracle.com>
Thu, 15 Mar 2007 11:09:57 +0000 (12:09 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Thu, 15 Mar 2007 11:09:57 +0000 (12:09 +0100)
Dunno why it ended up in there, doesn't make any sense.

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
fio.h
init.c
log.c

diff --git a/fio.h b/fio.h
index a6adcb7bbc5b27cc00004e4a2949fcef13cb90f6..e1b35ea499934054b1149b77795ddadbf5577067 100644 (file)
--- 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 15e96aacbebdea4e21ab874a6df0511aed1c7b19..b044e28903a24f16bb549f647fba4a2b144b0cd1 100644 (file)
--- 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 df2edc6bb5a75ef603a923d3a6665798a97a4e2c..298716ba3265fc1969f3ef8c60fd2e3dea194ed9 100644 (file)
--- 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));