All of lore.kernel.org
 help / color / mirror / Atom feed
* FIO size parameter feedback
@ 2018-03-06 18:52 abhishek koundal
  2018-03-06 19:02 ` Sitsofe Wheeler
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-06 18:52 UTC (permalink / raw)
  To: fio

All
If the size parameter is not given for the runs, how does the tool
decide what % (LBA span) needs to be written on the drive?

Reason I am asking as I see different data for the same workloads when
size=100% and no size parameter used.

-- 
Life is too short for silly things so invest your time in some
productive outputs!!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-06 18:52 FIO size parameter feedback abhishek koundal
@ 2018-03-06 19:02 ` Sitsofe Wheeler
  2018-03-06 19:11   ` Sitsofe Wheeler
  0 siblings, 1 reply; 17+ messages in thread
From: Sitsofe Wheeler @ 2018-03-06 19:02 UTC (permalink / raw)
  To: abhishek koundal; +Cc: fio

Hi,

On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
> All
> If the size parameter is not given for the runs, how does the tool
> decide what % (LBA span) needs to be written on the drive?

It will query the disk/file for its size (but this depends on the
ioengine being able to do that and not all do/can).

> Reason I am asking as I see different data for the same workloads when
> size=100% and no size parameter used.

Hmm this sounds like it might be due to a rounding issue - what size
is your disk and what job were you running?

-- 
Sitsofe | http://sucs.org/~sits/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-06 19:02 ` Sitsofe Wheeler
@ 2018-03-06 19:11   ` Sitsofe Wheeler
       [not found]     ` <CAKwzdDpwvgmWtCssGYNDv7BLgoPe56SqRCtFf_B0P1i9oR4fOw@mail.gmail.com>
  0 siblings, 1 reply; 17+ messages in thread
From: Sitsofe Wheeler @ 2018-03-06 19:11 UTC (permalink / raw)
  To: abhishek koundal; +Cc: fio

On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
> Hi,
>
> On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>> All
>> If the size parameter is not given for the runs, how does the tool
>> decide what % (LBA span) needs to be written on the drive?
>
> It will query the disk/file for its size (but this depends on the
> ioengine being able to do that and not all do/can).
>
>> Reason I am asking as I see different data for the same workloads when
>> size=100% and no size parameter used.
>
> Hmm this sounds like it might be due to a rounding issue - what size
> is your disk and what job were you running?

https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
that when in setup_files() using a size set in percent will round the
io_size down to the minimum block size whereas not setting size at all
looks like it will pass the determined size straight through
unrounded. I'm not sure what job you would see the difference on -
perhaps one that did backwards I/O?

-- 
Sitsofe | http://sucs.org/~sits/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
       [not found]     ` <CAKwzdDpwvgmWtCssGYNDv7BLgoPe56SqRCtFf_B0P1i9oR4fOw@mail.gmail.com>
@ 2018-03-06 19:47       ` abhishek koundal
  2018-03-06 20:28         ` abhishek koundal
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-06 19:47 UTC (permalink / raw)
  To: Sitsofe Wheeler; +Cc: fio

Hi,
The workload I used was SEQ_MX 70/30 BS 128 QD 128
FIO used 3.1
Drive SKU = 2TB

On Tue, Mar 6, 2018 at 11:43 AM, abhishek koundal <akoundal@gmail.com> wrote:
> Hi,
> The workload I used was SEQ_MX 70/30 BS 128 QD 128
> FIO used 3.1
>
> On Tue, Mar 6, 2018 at 11:11 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>
>> On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>> > Hi,
>> >
>> > On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>> >> All
>> >> If the size parameter is not given for the runs, how does the tool
>> >> decide what % (LBA span) needs to be written on the drive?
>> >
>> > It will query the disk/file for its size (but this depends on the
>> > ioengine being able to do that and not all do/can).
>> >
>> >> Reason I am asking as I see different data for the same workloads when
>> >> size=100% and no size parameter used.
>> >
>> > Hmm this sounds like it might be due to a rounding issue - what size
>> > is your disk and what job were you running?
>>
>> https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
>> that when in setup_files() using a size set in percent will round the
>> io_size down to the minimum block size whereas not setting size at all
>> looks like it will pass the determined size straight through
>> unrounded. I'm not sure what job you would see the difference on -
>> perhaps one that did backwards I/O?
>>
>> --
>> Sitsofe | http://sucs.org/~sits/
>
>
>
>
> --
> Life is too short for silly things so invest your time in some productive
> outputs!!



-- 
Life is too short for silly things so invest your time in some
productive outputs!!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-06 19:47       ` abhishek koundal
@ 2018-03-06 20:28         ` abhishek koundal
  2018-03-06 21:23           ` Sitsofe Wheeler
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-06 20:28 UTC (permalink / raw)
  To: Sitsofe Wheeler; +Cc: fio

Sitsofe
The engine used is the libaio. I hope this helps.
Can you elaborate on the ioengine part which are able to query the
file/disk size and which wont be able to ? (I generally use libaio for
QD>1)

On Tue, Mar 6, 2018 at 11:47 AM, abhishek koundal <akoundal@gmail.com> wrote:
> Hi,
> The workload I used was SEQ_MX 70/30 BS 128 QD 128
> FIO used 3.1
> Drive SKU = 2TB
>
> On Tue, Mar 6, 2018 at 11:43 AM, abhishek koundal <akoundal@gmail.com> wrote:
>> Hi,
>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>> FIO used 3.1
>>
>> On Tue, Mar 6, 2018 at 11:11 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>
>>> On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>> > Hi,
>>> >
>>> > On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>>> >> All
>>> >> If the size parameter is not given for the runs, how does the tool
>>> >> decide what % (LBA span) needs to be written on the drive?
>>> >
>>> > It will query the disk/file for its size (but this depends on the
>>> > ioengine being able to do that and not all do/can).
>>> >
>>> >> Reason I am asking as I see different data for the same workloads when
>>> >> size=100% and no size parameter used.
>>> >
>>> > Hmm this sounds like it might be due to a rounding issue - what size
>>> > is your disk and what job were you running?
>>>
>>> https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
>>> that when in setup_files() using a size set in percent will round the
>>> io_size down to the minimum block size whereas not setting size at all
>>> looks like it will pass the determined size straight through
>>> unrounded. I'm not sure what job you would see the difference on -
>>> perhaps one that did backwards I/O?
>>>
>>> --
>>> Sitsofe | http://sucs.org/~sits/
>>
>>
>>
>>
>> --
>> Life is too short for silly things so invest your time in some productive
>> outputs!!
>
>
>
> --
> Life is too short for silly things so invest your time in some
> productive outputs!!



-- 
Life is too short for silly things so invest your time in some
productive outputs!!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-06 20:28         ` abhishek koundal
@ 2018-03-06 21:23           ` Sitsofe Wheeler
  2018-03-06 22:28             ` abhishek koundal
  0 siblings, 1 reply; 17+ messages in thread
From: Sitsofe Wheeler @ 2018-03-06 21:23 UTC (permalink / raw)
  To: abhishek koundal; +Cc: fio

An example of an engine that can't deduce a size by itself is the null
engine. Most file based engines (e.g. pvsync, sync, libaio) are able
to.

I'd really have to see the exact jobs that were run (i.e. the complete
command line and fio job file if there was one) and the exact output
that you mention showed the problem to say more. For example you say
2TBytes but that's probably not granular enough. What is more
interesting is the size of the disk in bytes (from Linux's
perspective) because I'd need to know exactly what rounding occured to
understand what happened.

On 6 March 2018 at 20:28, abhishek koundal <akoundal@gmail.com> wrote:
> Sitsofe
> The engine used is the libaio. I hope this helps.
> Can you elaborate on the ioengine part which are able to query the
> file/disk size and which wont be able to ? (I generally use libaio for
> QD>1)
>
> On Tue, Mar 6, 2018 at 11:47 AM, abhishek koundal <akoundal@gmail.com> wrote:
>> Hi,
>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>> FIO used 3.1
>> Drive SKU = 2TB
>>
>> On Tue, Mar 6, 2018 at 11:43 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>> Hi,
>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>> FIO used 3.1
>>>
>>> On Tue, Mar 6, 2018 at 11:11 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>
>>>> On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>> > Hi,
>>>> >
>>>> > On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>>>> >> All
>>>> >> If the size parameter is not given for the runs, how does the tool
>>>> >> decide what % (LBA span) needs to be written on the drive?
>>>> >
>>>> > It will query the disk/file for its size (but this depends on the
>>>> > ioengine being able to do that and not all do/can).
>>>> >
>>>> >> Reason I am asking as I see different data for the same workloads when
>>>> >> size=100% and no size parameter used.
>>>> >
>>>> > Hmm this sounds like it might be due to a rounding issue - what size
>>>> > is your disk and what job were you running?
>>>>
>>>> https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
>>>> that when in setup_files() using a size set in percent will round the
>>>> io_size down to the minimum block size whereas not setting size at all
>>>> looks like it will pass the determined size straight through
>>>> unrounded. I'm not sure what job you would see the difference on -
>>>> perhaps one that did backwards I/O?

-- 
Sitsofe | http://sucs.org/~sits/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-06 21:23           ` Sitsofe Wheeler
@ 2018-03-06 22:28             ` abhishek koundal
       [not found]               ` <CAKwzdDoFAARSxVQYLzBqqqeAJvGe4dkVjwsipP6zkSPc1rwyTw@mail.gmail.com>
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-06 22:28 UTC (permalink / raw)
  To: Sitsofe Wheeler; +Cc: fio

Sure Sitsofe
fio --name=global --time_based --size=100% --direct=1 --norandommap
--randrepeat=0 --buffered=0 --refill_buffers --name=job
--ioengine=libaio --group_reporting --filename=/dev/nvme0n1
--numjobs=1 --iodepth=128 --bs=128k --rw=rw --rwmixread=70
--runtime=10800 --write_iops_log=wr.log -write_lat_log=wr.clat.log
--log_avg_msec=1000

On Tue, Mar 6, 2018 at 1:23 PM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
> An example of an engine that can't deduce a size by itself is the null
> engine. Most file based engines (e.g. pvsync, sync, libaio) are able
> to.
>
> I'd really have to see the exact jobs that were run (i.e. the complete
> command line and fio job file if there was one) and the exact output
> that you mention showed the problem to say more. For example you say
> 2TBytes but that's probably not granular enough. What is more
> interesting is the size of the disk in bytes (from Linux's
> perspective) because I'd need to know exactly what rounding occured to
> understand what happened.
>
> On 6 March 2018 at 20:28, abhishek koundal <akoundal@gmail.com> wrote:
>> Sitsofe
>> The engine used is the libaio. I hope this helps.
>> Can you elaborate on the ioengine part which are able to query the
>> file/disk size and which wont be able to ? (I generally use libaio for
>> QD>1)
>>
>> On Tue, Mar 6, 2018 at 11:47 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>> Hi,
>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>> FIO used 3.1
>>> Drive SKU = 2TB
>>>
>>> On Tue, Mar 6, 2018 at 11:43 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>>> Hi,
>>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>>> FIO used 3.1
>>>>
>>>> On Tue, Mar 6, 2018 at 11:11 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>>
>>>>> On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>> > Hi,
>>>>> >
>>>>> > On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>>>>> >> All
>>>>> >> If the size parameter is not given for the runs, how does the tool
>>>>> >> decide what % (LBA span) needs to be written on the drive?
>>>>> >
>>>>> > It will query the disk/file for its size (but this depends on the
>>>>> > ioengine being able to do that and not all do/can).
>>>>> >
>>>>> >> Reason I am asking as I see different data for the same workloads when
>>>>> >> size=100% and no size parameter used.
>>>>> >
>>>>> > Hmm this sounds like it might be due to a rounding issue - what size
>>>>> > is your disk and what job were you running?
>>>>>
>>>>> https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
>>>>> that when in setup_files() using a size set in percent will round the
>>>>> io_size down to the minimum block size whereas not setting size at all
>>>>> looks like it will pass the determined size straight through
>>>>> unrounded. I'm not sure what job you would see the difference on -
>>>>> perhaps one that did backwards I/O?
>
> --
> Sitsofe | http://sucs.org/~sits/



-- 
Life is too short for silly things so invest your time in some
productive outputs!!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
       [not found]               ` <CAKwzdDoFAARSxVQYLzBqqqeAJvGe4dkVjwsipP6zkSPc1rwyTw@mail.gmail.com>
@ 2018-03-07  8:17                 ` Sitsofe Wheeler
  2018-03-07 18:14                   ` abhishek koundal
  0 siblings, 1 reply; 17+ messages in thread
From: Sitsofe Wheeler @ 2018-03-07  8:17 UTC (permalink / raw)
  To: abhishek koundal; +Cc: fio

Hi,

What does
blockdev --getsize64 /dev/nvme0n1
say? I'm going to guess that whatever number comes out is not an exact
multiple of 128Kbytes...

On 7 March 2018 at 00:58, abhishek koundal <akoundal@gmail.com> wrote:
> Sitsofe,
> here is the log file when the size parameter is not give.
> command line will be :
> fio --name=global --time_based  --direct=1 --norandommap
> --randrepeat=0 --buffered=0 --refill_buffers --name=job
> --ioengine=libaio --group_reporting --filename=/dev/nvme0n1
> --numjobs=1 --iodepth=128 --bs=128k --rw=rw --rwmixread=70
> --runtime=10800 --write_iops_log=wr.log -write_lat_log=wr.clat.log
> --log_avg_msec=1000
>
> On Tue, Mar 6, 2018 at 2:28 PM, abhishek koundal <akoundal@gmail.com> wrote:
>> Sure Sitsofe
>> fio --name=global --time_based --size=100% --direct=1 --norandommap
>> --randrepeat=0 --buffered=0 --refill_buffers --name=job
>> --ioengine=libaio --group_reporting --filename=/dev/nvme0n1
>> --numjobs=1 --iodepth=128 --bs=128k --rw=rw --rwmixread=70
>> --runtime=10800 --write_iops_log=wr.log -write_lat_log=wr.clat.log
>> --log_avg_msec=1000
>>
>> On Tue, Mar 6, 2018 at 1:23 PM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>> An example of an engine that can't deduce a size by itself is the null
>>> engine. Most file based engines (e.g. pvsync, sync, libaio) are able
>>> to.
>>>
>>> I'd really have to see the exact jobs that were run (i.e. the complete
>>> command line and fio job file if there was one) and the exact output
>>> that you mention showed the problem to say more. For example you say
>>> 2TBytes but that's probably not granular enough. What is more
>>> interesting is the size of the disk in bytes (from Linux's
>>> perspective) because I'd need to know exactly what rounding occured to
>>> understand what happened.
>>>
>>> On 6 March 2018 at 20:28, abhishek koundal <akoundal@gmail.com> wrote:
>>>> Sitsofe
>>>> The engine used is the libaio. I hope this helps.
>>>> Can you elaborate on the ioengine part which are able to query the
>>>> file/disk size and which wont be able to ? (I generally use libaio for
>>>> QD>1)
>>>>
>>>> On Tue, Mar 6, 2018 at 11:47 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>>>> Hi,
>>>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>>>> FIO used 3.1
>>>>> Drive SKU = 2TB
>>>>>
>>>>> On Tue, Mar 6, 2018 at 11:43 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>>>>> Hi,
>>>>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>>>>> FIO used 3.1
>>>>>>
>>>>>> On Tue, Mar 6, 2018 at 11:11 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>>>>
>>>>>>> On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>>>> > Hi,
>>>>>>> >
>>>>>>> > On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>>>>>>> >> All
>>>>>>> >> If the size parameter is not given for the runs, how does the tool
>>>>>>> >> decide what % (LBA span) needs to be written on the drive?
>>>>>>> >
>>>>>>> > It will query the disk/file for its size (but this depends on the
>>>>>>> > ioengine being able to do that and not all do/can).
>>>>>>> >
>>>>>>> >> Reason I am asking as I see different data for the same workloads when
>>>>>>> >> size=100% and no size parameter used.
>>>>>>> >
>>>>>>> > Hmm this sounds like it might be due to a rounding issue - what size
>>>>>>> > is your disk and what job were you running?
>>>>>>>
>>>>>>> https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
>>>>>>> that when in setup_files() using a size set in percent will round the
>>>>>>> io_size down to the minimum block size whereas not setting size at all
>>>>>>> looks like it will pass the determined size straight through
>>>>>>> unrounded. I'm not sure what job you would see the difference on -
>>>>>>> perhaps one that did backwards I/O?
>>>
>>> --
>>> Sitsofe | http://sucs.org/~sits/
>>
>>
>>
>> --
>> Life is too short for silly things so invest your time in some
>> productive outputs!!
>
>
>
> --
> Life is too short for silly things so invest your time in some
> productive outputs!!



-- 
Sitsofe | http://sucs.org/~sits/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-07  8:17                 ` Sitsofe Wheeler
@ 2018-03-07 18:14                   ` abhishek koundal
  2018-03-07 18:38                     ` Sitsofe Wheeler
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-07 18:14 UTC (permalink / raw)
  To: Sitsofe Wheeler; +Cc: fio

Hi
Yes that is correct. The drive is showing :
2000398934016 and its not exact multiple of 128K

So do we think this is how the tool will behave or we have a bug here?

On Wed, Mar 7, 2018 at 12:17 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
> Hi,
>
> What does
> blockdev --getsize64 /dev/nvme0n1
> say? I'm going to guess that whatever number comes out is not an exact
> multiple of 128Kbytes...
>
> On 7 March 2018 at 00:58, abhishek koundal <akoundal@gmail.com> wrote:
>> Sitsofe,
>> here is the log file when the size parameter is not give.
>> command line will be :
>> fio --name=global --time_based  --direct=1 --norandommap
>> --randrepeat=0 --buffered=0 --refill_buffers --name=job
>> --ioengine=libaio --group_reporting --filename=/dev/nvme0n1
>> --numjobs=1 --iodepth=128 --bs=128k --rw=rw --rwmixread=70
>> --runtime=10800 --write_iops_log=wr.log -write_lat_log=wr.clat.log
>> --log_avg_msec=1000
>>
>> On Tue, Mar 6, 2018 at 2:28 PM, abhishek koundal <akoundal@gmail.com> wrote:
>>> Sure Sitsofe
>>> fio --name=global --time_based --size=100% --direct=1 --norandommap
>>> --randrepeat=0 --buffered=0 --refill_buffers --name=job
>>> --ioengine=libaio --group_reporting --filename=/dev/nvme0n1
>>> --numjobs=1 --iodepth=128 --bs=128k --rw=rw --rwmixread=70
>>> --runtime=10800 --write_iops_log=wr.log -write_lat_log=wr.clat.log
>>> --log_avg_msec=1000
>>>
>>> On Tue, Mar 6, 2018 at 1:23 PM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>> An example of an engine that can't deduce a size by itself is the null
>>>> engine. Most file based engines (e.g. pvsync, sync, libaio) are able
>>>> to.
>>>>
>>>> I'd really have to see the exact jobs that were run (i.e. the complete
>>>> command line and fio job file if there was one) and the exact output
>>>> that you mention showed the problem to say more. For example you say
>>>> 2TBytes but that's probably not granular enough. What is more
>>>> interesting is the size of the disk in bytes (from Linux's
>>>> perspective) because I'd need to know exactly what rounding occured to
>>>> understand what happened.
>>>>
>>>> On 6 March 2018 at 20:28, abhishek koundal <akoundal@gmail.com> wrote:
>>>>> Sitsofe
>>>>> The engine used is the libaio. I hope this helps.
>>>>> Can you elaborate on the ioengine part which are able to query the
>>>>> file/disk size and which wont be able to ? (I generally use libaio for
>>>>> QD>1)
>>>>>
>>>>> On Tue, Mar 6, 2018 at 11:47 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>>>>> Hi,
>>>>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>>>>> FIO used 3.1
>>>>>> Drive SKU = 2TB
>>>>>>
>>>>>> On Tue, Mar 6, 2018 at 11:43 AM, abhishek koundal <akoundal@gmail.com> wrote:
>>>>>>> Hi,
>>>>>>> The workload I used was SEQ_MX 70/30 BS 128 QD 128
>>>>>>> FIO used 3.1
>>>>>>>
>>>>>>> On Tue, Mar 6, 2018 at 11:11 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>>>>>
>>>>>>>> On 6 March 2018 at 19:02, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>>>>> > Hi,
>>>>>>>> >
>>>>>>>> > On 6 March 2018 at 18:52, abhishek koundal <akoundal@gmail.com> wrote:
>>>>>>>> >> All
>>>>>>>> >> If the size parameter is not given for the runs, how does the tool
>>>>>>>> >> decide what % (LBA span) needs to be written on the drive?
>>>>>>>> >
>>>>>>>> > It will query the disk/file for its size (but this depends on the
>>>>>>>> > ioengine being able to do that and not all do/can).
>>>>>>>> >
>>>>>>>> >> Reason I am asking as I see different data for the same workloads when
>>>>>>>> >> size=100% and no size parameter used.
>>>>>>>> >
>>>>>>>> > Hmm this sounds like it might be due to a rounding issue - what size
>>>>>>>> > is your disk and what job were you running?
>>>>>>>>
>>>>>>>> https://github.com/axboe/fio/blob/master/filesetup.c#L1039-L1048 shows
>>>>>>>> that when in setup_files() using a size set in percent will round the
>>>>>>>> io_size down to the minimum block size whereas not setting size at all
>>>>>>>> looks like it will pass the determined size straight through
>>>>>>>> unrounded. I'm not sure what job you would see the difference on -
>>>>>>>> perhaps one that did backwards I/O?
>>>>
>>>> --
>>>> Sitsofe | http://sucs.org/~sits/
>>>
>>>
>>>
>>> --
>>> Life is too short for silly things so invest your time in some
>>> productive outputs!!
>>
>>
>>
>> --
>> Life is too short for silly things so invest your time in some
>> productive outputs!!
>
>
>
> --
> Sitsofe | http://sucs.org/~sits/



-- 
Life is too short for silly things so invest your time in some
productive outputs!!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-07 18:14                   ` abhishek koundal
@ 2018-03-07 18:38                     ` Sitsofe Wheeler
  2018-03-07 19:07                       ` abhishek koundal
  0 siblings, 1 reply; 17+ messages in thread
From: Sitsofe Wheeler @ 2018-03-07 18:38 UTC (permalink / raw)
  To: abhishek koundal; +Cc: fio

I'd say it's something that could be better documented (size as
percentage rounds to the minimum blocksize) in the same way it's
already documented for offset percentages. The problem is if size
didn't do the rounding of percentages things would get tricky when you
start trying to cut disks up using offset and size (think offset=0%
size=25% then offset=25% size=25%). Plus you don't really want to do
rounding when the user specifies an exact amount/doesn't set anything
at all because you want to assume the user knows what they are
doing...

On 7 March 2018 at 18:14, abhishek koundal <akoundal@gmail.com> wrote:
> Hi
> Yes that is correct. The drive is showing :
> 2000398934016 and its not exact multiple of 128K
>
> So do we think this is how the tool will behave or we have a bug here?
>
> On Wed, Mar 7, 2018 at 12:17 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>> Hi,
>>
>> What does
>> blockdev --getsize64 /dev/nvme0n1
>> say? I'm going to guess that whatever number comes out is not an exact
>> multiple of 128Kbytes...

-- 
Sitsofe | http://sucs.org/~sits/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-07 18:38                     ` Sitsofe Wheeler
@ 2018-03-07 19:07                       ` abhishek koundal
  2018-03-07 20:19                         ` Sitsofe Wheeler
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-07 19:07 UTC (permalink / raw)
  To: Sitsofe Wheeler; +Cc: fio

So do we say its how the tool has to behave? (surely with added documentation)

On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
> I'd say it's something that could be better documented (size as
> percentage rounds to the minimum blocksize) in the same way it's
> already documented for offset percentages. The problem is if size
> didn't do the rounding of percentages things would get tricky when you
> start trying to cut disks up using offset and size (think offset=0%
> size=25% then offset=25% size=25%). Plus you don't really want to do
> rounding when the user specifies an exact amount/doesn't set anything
> at all because you want to assume the user knows what they are
> doing...
>
> On 7 March 2018 at 18:14, abhishek koundal <akoundal@gmail.com> wrote:
>> Hi
>> Yes that is correct. The drive is showing :
>> 2000398934016 and its not exact multiple of 128K
>>
>> So do we think this is how the tool will behave or we have a bug here?
>>
>> On Wed, Mar 7, 2018 at 12:17 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>> Hi,
>>>
>>> What does
>>> blockdev --getsize64 /dev/nvme0n1
>>> say? I'm going to guess that whatever number comes out is not an exact
>>> multiple of 128Kbytes...
>
> --
> Sitsofe | http://sucs.org/~sits/



-- 
Life is too short for silly things so invest your time in some
productive outputs!!

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-07 19:07                       ` abhishek koundal
@ 2018-03-07 20:19                         ` Sitsofe Wheeler
  2018-03-09 19:54                           ` Jens Axboe
  0 siblings, 1 reply; 17+ messages in thread
From: Sitsofe Wheeler @ 2018-03-07 20:19 UTC (permalink / raw)
  To: abhishek koundal; +Cc: fio

I'd argue that by now someone will have started depending on the
rounding behaviour of a percentage size and someone else will be
depending on the non-rounding behaviour when its specified without
percentages so you'd need a strong reason to change. However
documenting this quirk would be helpful...

On 7 March 2018 at 19:07, abhishek koundal <akoundal@gmail.com> wrote:
> So do we say its how the tool has to behave? (surely with added documentation)
>
> On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>> I'd say it's something that could be better documented (size as
>> percentage rounds to the minimum blocksize) in the same way it's
>> already documented for offset percentages. The problem is if size
>> didn't do the rounding of percentages things would get tricky when you
>> start trying to cut disks up using offset and size (think offset=0%
>> size=25% then offset=25% size=25%). Plus you don't really want to do
>> rounding when the user specifies an exact amount/doesn't set anything
>> at all because you want to assume the user knows what they are
>> doing...

-- 
Sitsofe | http://sucs.org/~sits/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-07 20:19                         ` Sitsofe Wheeler
@ 2018-03-09 19:54                           ` Jens Axboe
  2018-03-09 20:08                             ` abhishek koundal
  0 siblings, 1 reply; 17+ messages in thread
From: Jens Axboe @ 2018-03-09 19:54 UTC (permalink / raw)
  To: Sitsofe Wheeler, abhishek koundal; +Cc: fio

I think we should just skip the alignment/adjustment if
size_percent is equal to 100. It doesn't make sense to
change it for full size. I'd rather have consistent
behavior here, and I think the risk is pretty low in
this case.

On 3/7/18 1:19 PM, Sitsofe Wheeler wrote:
> I'd argue that by now someone will have started depending on the
> rounding behaviour of a percentage size and someone else will be
> depending on the non-rounding behaviour when its specified without
> percentages so you'd need a strong reason to change. However
> documenting this quirk would be helpful...
> 
> On 7 March 2018 at 19:07, abhishek koundal <akoundal@gmail.com> wrote:
>> So do we say its how the tool has to behave? (surely with added documentation)
>>
>> On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>> I'd say it's something that could be better documented (size as
>>> percentage rounds to the minimum blocksize) in the same way it's
>>> already documented for offset percentages. The problem is if size
>>> didn't do the rounding of percentages things would get tricky when you
>>> start trying to cut disks up using offset and size (think offset=0%
>>> size=25% then offset=25% size=25%). Plus you don't really want to do
>>> rounding when the user specifies an exact amount/doesn't set anything
>>> at all because you want to assume the user knows what they are
>>> doing...
> 


-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-09 19:54                           ` Jens Axboe
@ 2018-03-09 20:08                             ` abhishek koundal
  2018-03-09 20:32                               ` Jens Axboe
  0 siblings, 1 reply; 17+ messages in thread
From: abhishek koundal @ 2018-03-09 20:08 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Sitsofe Wheeler, fio

Are we suggesting the document wording change or actual code change?

On Fri, Mar 9, 2018 at 11:54 AM, Jens Axboe <axboe@kernel.dk> wrote:
> I think we should just skip the alignment/adjustment if
> size_percent is equal to 100. It doesn't make sense to
> change it for full size. I'd rather have consistent
> behavior here, and I think the risk is pretty low in
> this case.
>
> On 3/7/18 1:19 PM, Sitsofe Wheeler wrote:
>> I'd argue that by now someone will have started depending on the
>> rounding behaviour of a percentage size and someone else will be
>> depending on the non-rounding behaviour when its specified without
>> percentages so you'd need a strong reason to change. However
>> documenting this quirk would be helpful...
>>
>> On 7 March 2018 at 19:07, abhishek koundal <akoundal@gmail.com> wrote:
>>> So do we say its how the tool has to behave? (surely with added documentation)
>>>
>>> On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>> I'd say it's something that could be better documented (size as
>>>> percentage rounds to the minimum blocksize) in the same way it's
>>>> already documented for offset percentages. The problem is if size
>>>> didn't do the rounding of percentages things would get tricky when you
>>>> start trying to cut disks up using offset and size (think offset=0%
>>>> size=25% then offset=25% size=25%). Plus you don't really want to do
>>>> rounding when the user specifies an exact amount/doesn't set anything
>>>> at all because you want to assume the user knows what they are
>>>> doing...
>>
>
>
> --
> Jens Axboe
>



-- 
Life is too short for silly things so invest your time in some
productive outputs!!


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-09 20:08                             ` abhishek koundal
@ 2018-03-09 20:32                               ` Jens Axboe
  2018-03-09 20:34                                 ` abhishek koundal
  2018-03-09 21:19                                 ` abhishek koundal
  0 siblings, 2 replies; 17+ messages in thread
From: Jens Axboe @ 2018-03-09 20:32 UTC (permalink / raw)
  To: abhishek koundal; +Cc: Sitsofe Wheeler, fio

Code change, I don't think it makes any sense that 100% behaves
differently than not setting it at all, since that's equivalent
to 100%.

Already made the change...

On 3/9/18 1:08 PM, abhishek koundal wrote:
> Are we suggesting the document wording change or actual code change?
> 
> On Fri, Mar 9, 2018 at 11:54 AM, Jens Axboe <axboe@kernel.dk> wrote:
>> I think we should just skip the alignment/adjustment if
>> size_percent is equal to 100. It doesn't make sense to
>> change it for full size. I'd rather have consistent
>> behavior here, and I think the risk is pretty low in
>> this case.
>>
>> On 3/7/18 1:19 PM, Sitsofe Wheeler wrote:
>>> I'd argue that by now someone will have started depending on the
>>> rounding behaviour of a percentage size and someone else will be
>>> depending on the non-rounding behaviour when its specified without
>>> percentages so you'd need a strong reason to change. However
>>> documenting this quirk would be helpful...
>>>
>>> On 7 March 2018 at 19:07, abhishek koundal <akoundal@gmail.com> wrote:
>>>> So do we say its how the tool has to behave? (surely with added documentation)
>>>>
>>>> On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>> I'd say it's something that could be better documented (size as
>>>>> percentage rounds to the minimum blocksize) in the same way it's
>>>>> already documented for offset percentages. The problem is if size
>>>>> didn't do the rounding of percentages things would get tricky when you
>>>>> start trying to cut disks up using offset and size (think offset=0%
>>>>> size=25% then offset=25% size=25%). Plus you don't really want to do
>>>>> rounding when the user specifies an exact amount/doesn't set anything
>>>>> at all because you want to assume the user knows what they are
>>>>> doing...
>>>
>>
>>
>> --
>> Jens Axboe
>>
> 
> 
> 


-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-09 20:32                               ` Jens Axboe
@ 2018-03-09 20:34                                 ` abhishek koundal
  2018-03-09 21:19                                 ` abhishek koundal
  1 sibling, 0 replies; 17+ messages in thread
From: abhishek koundal @ 2018-03-09 20:34 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Sitsofe Wheeler, fio

[-- Attachment #1: Type: text/plain, Size: 2050 bytes --]

Cool, thanks!

On Mar 9, 2018 12:32 PM, "Jens Axboe" <axboe@kernel.dk> wrote:

> Code change, I don't think it makes any sense that 100% behaves
> differently than not setting it at all, since that's equivalent
> to 100%.
>
> Already made the change...
>
> On 3/9/18 1:08 PM, abhishek koundal wrote:
> > Are we suggesting the document wording change or actual code change?
> >
> > On Fri, Mar 9, 2018 at 11:54 AM, Jens Axboe <axboe@kernel.dk> wrote:
> >> I think we should just skip the alignment/adjustment if
> >> size_percent is equal to 100. It doesn't make sense to
> >> change it for full size. I'd rather have consistent
> >> behavior here, and I think the risk is pretty low in
> >> this case.
> >>
> >> On 3/7/18 1:19 PM, Sitsofe Wheeler wrote:
> >>> I'd argue that by now someone will have started depending on the
> >>> rounding behaviour of a percentage size and someone else will be
> >>> depending on the non-rounding behaviour when its specified without
> >>> percentages so you'd need a strong reason to change. However
> >>> documenting this quirk would be helpful...
> >>>
> >>> On 7 March 2018 at 19:07, abhishek koundal <akoundal@gmail.com> wrote:
> >>>> So do we say its how the tool has to behave? (surely with added
> documentation)
> >>>>
> >>>> On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com>
> wrote:
> >>>>> I'd say it's something that could be better documented (size as
> >>>>> percentage rounds to the minimum blocksize) in the same way it's
> >>>>> already documented for offset percentages. The problem is if size
> >>>>> didn't do the rounding of percentages things would get tricky when
> you
> >>>>> start trying to cut disks up using offset and size (think offset=0%
> >>>>> size=25% then offset=25% size=25%). Plus you don't really want to do
> >>>>> rounding when the user specifies an exact amount/doesn't set anything
> >>>>> at all because you want to assume the user knows what they are
> >>>>> doing...
> >>>
> >>
> >>
> >> --
> >> Jens Axboe
> >>
> >
> >
> >
>
>
> --
> Jens Axboe
>
>

[-- Attachment #2: Type: text/html, Size: 2991 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: FIO size parameter feedback
  2018-03-09 20:32                               ` Jens Axboe
  2018-03-09 20:34                                 ` abhishek koundal
@ 2018-03-09 21:19                                 ` abhishek koundal
  1 sibling, 0 replies; 17+ messages in thread
From: abhishek koundal @ 2018-03-09 21:19 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Sitsofe Wheeler, fio

Thanks

On Fri, Mar 9, 2018 at 12:32 PM, Jens Axboe <axboe@kernel.dk> wrote:
> Code change, I don't think it makes any sense that 100% behaves
> differently than not setting it at all, since that's equivalent
> to 100%.
>
> Already made the change...
>
> On 3/9/18 1:08 PM, abhishek koundal wrote:
>> Are we suggesting the document wording change or actual code change?
>>
>> On Fri, Mar 9, 2018 at 11:54 AM, Jens Axboe <axboe@kernel.dk> wrote:
>>> I think we should just skip the alignment/adjustment if
>>> size_percent is equal to 100. It doesn't make sense to
>>> change it for full size. I'd rather have consistent
>>> behavior here, and I think the risk is pretty low in
>>> this case.
>>>
>>> On 3/7/18 1:19 PM, Sitsofe Wheeler wrote:
>>>> I'd argue that by now someone will have started depending on the
>>>> rounding behaviour of a percentage size and someone else will be
>>>> depending on the non-rounding behaviour when its specified without
>>>> percentages so you'd need a strong reason to change. However
>>>> documenting this quirk would be helpful...
>>>>
>>>> On 7 March 2018 at 19:07, abhishek koundal <akoundal@gmail.com> wrote:
>>>>> So do we say its how the tool has to behave? (surely with added documentation)
>>>>>
>>>>> On Wed, Mar 7, 2018 at 10:38 AM, Sitsofe Wheeler <sitsofe@gmail.com> wrote:
>>>>>> I'd say it's something that could be better documented (size as
>>>>>> percentage rounds to the minimum blocksize) in the same way it's
>>>>>> already documented for offset percentages. The problem is if size
>>>>>> didn't do the rounding of percentages things would get tricky when you
>>>>>> start trying to cut disks up using offset and size (think offset=0%
>>>>>> size=25% then offset=25% size=25%). Plus you don't really want to do
>>>>>> rounding when the user specifies an exact amount/doesn't set anything
>>>>>> at all because you want to assume the user knows what they are
>>>>>> doing...
>>>>
>>>
>>>
>>> --
>>> Jens Axboe
>>>
>>
>>
>>
>
>
> --
> Jens Axboe
>



-- 
Life is too short for silly things so invest your time in some
productive outputs!!


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2018-03-09 21:19 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-06 18:52 FIO size parameter feedback abhishek koundal
2018-03-06 19:02 ` Sitsofe Wheeler
2018-03-06 19:11   ` Sitsofe Wheeler
     [not found]     ` <CAKwzdDpwvgmWtCssGYNDv7BLgoPe56SqRCtFf_B0P1i9oR4fOw@mail.gmail.com>
2018-03-06 19:47       ` abhishek koundal
2018-03-06 20:28         ` abhishek koundal
2018-03-06 21:23           ` Sitsofe Wheeler
2018-03-06 22:28             ` abhishek koundal
     [not found]               ` <CAKwzdDoFAARSxVQYLzBqqqeAJvGe4dkVjwsipP6zkSPc1rwyTw@mail.gmail.com>
2018-03-07  8:17                 ` Sitsofe Wheeler
2018-03-07 18:14                   ` abhishek koundal
2018-03-07 18:38                     ` Sitsofe Wheeler
2018-03-07 19:07                       ` abhishek koundal
2018-03-07 20:19                         ` Sitsofe Wheeler
2018-03-09 19:54                           ` Jens Axboe
2018-03-09 20:08                             ` abhishek koundal
2018-03-09 20:32                               ` Jens Axboe
2018-03-09 20:34                                 ` abhishek koundal
2018-03-09 21:19                                 ` abhishek koundal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.