On 2011-09-08 13:32, Jens Axboe wrote: > Hmm, I'm assuming the performance is about the same (whether run with > this file, or separately)? > > Looks like the utilization is done prior to the job being started, hence > you get ~100%, ~50%, and ~33%. So looks like just an accounting bug, > I'll take a look at it. Does this work? Completely untested... diff --git a/fio.c b/fio.c index 4514840..b492889 100644 --- a/fio.c +++ b/fio.c @@ -1502,10 +1502,8 @@ static void run_threads(void) for_each_td(td, i) { print_status_init(td->thread_number - 1); - if (!td->o.create_serialize) { - init_disk_util(td); + if (!td->o.create_serialize) continue; - } /* * do file setup here so it happens sequentially, @@ -1533,8 +1531,6 @@ static void run_threads(void) td_io_close_file(td, f); } } - - init_disk_util(td); } set_genesis_time(); @@ -1573,6 +1569,8 @@ static void run_threads(void) break; } + init_disk_util(td); + /* * Set state to created. Thread will transition * to TD_INITIALIZED when it's done setting up. -- Jens Axboe -- 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