Re: [PATCH] Fix iodepth_batch=0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/02/2016 11:31 AM, Omar Sandoval wrote:
On Thu, Jun 02, 2016 at 09:45:49AM -0600, Jens Axboe wrote:
On 06/01/2016 01:04 AM, Omar Sandoval wrote:
From: Omar Sandoval <osandov@xxxxxx>

The man page claims that iodepth_batch=0 falls back to whatever was
specified for iodepth, but the enforced minimum of 1 means that 0 is not
actually valid.

Fixes: a2e6f8ac56a9 ("Make iodepth_batch=1 by default")
Signed-off-by: Omar Sandoval <osandov@xxxxxx>

Probably a better idea to just adjust the check-and-set instead, ala the
below:

diff --git a/init.c b/init.c
index 7166ea766d8a..e82446ba6f2a 100644
--- a/init.c
+++ b/init.c
@@ -695,7 +695,8 @@ static int fixup_options(struct thread_data *td)
  	/*
  	 * If batch number isn't set, default to the same as iodepth
  	 */
-	if (o->iodepth_batch > o->iodepth || !o->iodepth_batch)
+	if (o->iodepth_batch > o->iodepth ||
+	    !fio_option_is_set(o, iodepth_batch))
  		o->iodepth_batch = o->iodepth;

  	/*

I wasn't trying to change the default (which is currently 1), just trying to
fix the discrepancy between the man page:

iodepth_batch=int, iodepth_batch_submit=int
	This defines how many pieces of IO to submit at once. It defaults to 1
	which means that we submit each IO as soon as it is available, but can
	be raised to submit bigger batches of IO at the time. If it is set to 0
	the iodepth value will be used.

and the actual behavior:

# ./fio --name=test --filename=/dev/nullb0 --direct=1 --ioengine=libaio --iodepth=8 --iodepth_batch=0 --runtime=1 --time_based
min value out of range: 0 (1 min)
fio: failed parsing iodepth_batch=0

Ah gotcha, I think your patch will do nicely for that, and re-instate the documented behavior. Added, thanks.


--
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



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux