Re: fio offset with ba

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

 



On 10/25/2017 11:27 PM, Sitsofe Wheeler wrote:
> On 26 October 2017 at 05:24, Jens Axboe <axboe@xxxxxxxxx> wrote:
>> On 10/25/2017 05:27 PM, Jeff Furlong wrote:
>>>> Actually here's a question - what does .interval do?
>>> Looks like it is used to override the default value of 1 in gopt_new_int():
>>>       interval = 1.0;
>>>       if (o->interval)
>>>               interval = o->interval;
>>>       i->spin = gtk_spin_button_new_with_range(o->minval, maxval, interval);
>>>
>>> But your larger question may be why do some options have interval
>>> (e.g. offset) and some not have interval (e.g. ioengine).
>>
>> It's for the GUI, where you want to specify in which increments a value
>> is adjusted when you use the up and down arrows to change it. It's only
>> applicable to numberical values, it would not make sense to apply to
>> something like ioengine or similar.
> 
> You were right Jeff - it was a larger question. Jens thanks for
> clearing up its purpose - I missed it was used by the GUI.
> 
>>> diff --git a/filesetup.c b/filesetup.c
>>> index 7a602d4..5d7ea5c 100644
>>> --- a/filesetup.c
>>> +++ b/filesetup.c
>>> @@ -869,12 +869,10 @@ uint64_t get_start_offset(struct thread_data *td, struct fio_file *f)
>>>
>>>       if (o->start_offset_percent > 0) {
>>>               /*
>>> -              * if blockalign is provided, find the min across read, write,
>>> -              * and trim
>>> +              * if offset_align is provided, set initial offset
>>>                */
>>> -             if (fio_option_is_set(o, ba)) {
>>> -                     align_bs = (unsigned long long) min(o->ba[DDIR_READ], o->ba[DDIR_WRITE]);
>>> -                     align_bs = min((unsigned long long) o->ba[DDIR_TRIM], align_bs);
>>> +             if (fio_option_is_set(o, start_offset_align)) {
>>> +                     align_bs = o->start_offset_align;
>>
>> I'm curious why this drops the 'ba' part?
> 
> blockalign actually only impacts random I/O (see
> https://github.com/axboe/fio/issues/341 for someone requesting it to
> affect sequential I/O but that's a separate issue). Since each random
> I/O will "blockalign itself" we gain nothing from trying to align the
> offset generated by offset percentage to it.

Gotcha. That's my only comment on the patch, if folks are happy with it,
we can slide it in.

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