On Wed, May 7, 2014 at 7:01 PM, YAMAMOTO Takashi <yamam...@valinux.co.jp> wrote:
>> Sorry I was not clear in the commit message. It is the average of the
>> first interface. I will make it clear before pushing.
>
> thanks for clarification.
> i think the average is not so important.  hash colision is.
> the worst case is, two interfaces in the same bucket, one in the other.
> in that case, packet distribution would be 1:1:2.
Would you please explain more? How did you arrive at this
distribution? Why is this the worst case?
> your value is safe enough for the distribution.
>
> YAMAMOTO Takashi
>
>>
>> On Wed, May 7, 2014 at 6:18 PM, YAMAMOTO Takashi <yamam...@valinux.co.jp> 
>> wrote:
>>>> Raise the minimal per interface packet distribution from 7 to 24.
>>>>
>>>> With 256 packet distributing to 3 interfaces, the expected packets per
>>>> interface should be 256/3 = 85.3
>>>>
>>>> Tested with 200 runs, the average number of packet per interface is
>>>> 85.9. close to the expected number, standard deviation within the 200
>>>> run is 24.4. Tested with 2x standard deviation with 10K test runs,
>>>> got around 0.1% failure rate. 2.5x standard deviation passes 100K test
>>>> runs without failure.
>>>>
>>>> Using 2.5x for the unit test, 83.5 - 2.5 * 24.4, Round down to the
>>>> whole number of 24.
>>>
>>> the patch itself looks ok (thus acked-by) but i have a question on
>>> the commit message.
>>> why can the average number be larger than the expected number?
>>> the total number of packets for a run is expected to be exactly 256,
>>> isn't it?
>>>
>>> Acked-by: YAMAMOTO Takashi <yamam...@valinux.co.jp>
>>> Tested-by: YAMAMOTO Takashi <yamam...@valinux.co.jp>
>>>
>>> YAMAMOTO Takashi
>>>
>>>>
>>>> Signed-off-by: Andy Zhou <az...@nicira.com>
>>>> ---
>>>>  tests/ofproto-dpif.at | 6 +++---
>>>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/tests/ofproto-dpif.at b/tests/ofproto-dpif.at
>>>> index c46e997..3723459 100644
>>>> --- a/tests/ofproto-dpif.at
>>>> +++ b/tests/ofproto-dpif.at
>>>> @@ -191,9 +191,9 @@ AT_CHECK([ovs-appctl dpif/dump-flows br0 |grep tcp > 
>>>> br0_flows.txt])
>>>>  AT_CHECK([ovs-appctl dpif/dump-flows br1 |grep tcp > br1_flows.txt])
>>>>  # Make sure there is resonable distribution to all three ports.
>>>>  # We don't want to make this check precise, in case hash function changes.
>>>> -AT_CHECK([test `grep in_port.4 br1_flows.txt |wc -l` -gt 7])
>>>> -AT_CHECK([test `grep in_port.5 br1_flows.txt |wc -l` -gt 7])
>>>> -AT_CHECK([test `grep in_port.6 br1_flows.txt |wc -l` -gt 7])
>>>> +AT_CHECK([test `grep in_port.4 br1_flows.txt |wc -l` -gt 24])
>>>> +AT_CHECK([test `grep in_port.5 br1_flows.txt |wc -l` -gt 24])
>>>> +AT_CHECK([test `grep in_port.6 br1_flows.txt |wc -l` -gt 24])
>>>>  OVS_VSWITCHD_STOP()
>>>>  AT_CLEANUP
>>>>
>>>> --
>>>> 1.9.1
>>>>
>>>> _______________________________________________
>>>> dev mailing list
>>>> dev@openvswitch.org
>>>> http://openvswitch.org/mailman/listinfo/dev
>> _______________________________________________
>> dev mailing list
>> dev@openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to