Re: [PATCH RFC] gauss.c: correct the stddev initializtion

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

 



On 3/17/20 8:52 AM, Feng Tang wrote:
> Hi,
> 
> On Tue, Mar 17, 2020 at 08:34:48AM -0600, Jens Axboe wrote:
>> On 3/17/20 6:53 AM, Feng Tang wrote:
>>> Signed-off-by: Feng Tang <feng.tang@xxxxxxxxx>
>>> ---
>>>  lib/gauss.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/lib/gauss.c b/lib/gauss.c
>>> index 1d24e187..3f84dbc6 100644
>>> --- a/lib/gauss.c
>>> +++ b/lib/gauss.c
>>> @@ -51,7 +51,7 @@ void gauss_init(struct gauss_state *gs, unsigned long nranges, double dev,
>>>  	gs->nranges = nranges;
>>>  
>>>  	if (dev != 0.0) {
>>> -		gs->stddev = ceil((double) (nranges * 100.0) / dev);
>>> +		gs->stddev = ceil((double)(nranges * dev) / 100.0);
>>>  		if (gs->stddev > nranges / 2)
>>>  			gs->stddev = nranges / 2;
>>>  	}
>>
>> Looks like I very helpfully did not include a reference to to where
>> this is from... Can you expand on the need for the patch?
> 
> Thanks for your prompt response! 
> 
> I tried to run fio with "random_distribution=normal:20" as one
> parameter, and didn't notice it has difference with "normal:50",
> so I went to read the source code, as the man page says the
> deviation ranges from 0 to 100, so this gs->stddev will
> always be "nranges/2". Or I misunderstood the man page?

Nope I think you are right, I looked up the original change
that made it a parameter:

https://git.kernel.dk/cgit/fio/commit/?id=3cdb8cf38198d5cea73074d427ae310320e1d65f

and that clearly indicates that your patch is correct. I'll
apply it, thanks!

-- 
Jens Axboe




[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