Ok thanks for the clarification.
I’ll check with CSIT and will see for the retry config when I get a chance to
test this on my testbed.
From: "Damjan Marion (damarion)" <damar...@cisco.com>
Date: Tuesday, November 29, 2016 at 2:03 AM
To: "Alec Hothan (ahothan)" <ahot...@cisco.com>
Cc: vpp-dev <email@example.com>
Subject: Re: [vpp-dev] native vhost-user perf improvements
On 29 Nov 2016, at 02:54, Alec Hothan (ahothan)
Regarding the diffs, do you know in which error case(s) the retry will hit the
most to cause such a big improvement in NDR?
It is not about error case. It is about cases where there is no enough space in
the ring. At the point when we finished transmitting 1st incomplete batch of
packets (incomplete because there was no enough free slots),
there is big chance the some space was already freed by the remote side. It is
much cheaper to retry than to simply drop all work we did on the packets not
transmitted in the 1st batch.
I have counted no less than 8 got done in the outer loop and it seems to me
some of the error cases should not be retried at all (e.g.
VHOST_USER_TX_FUNC_ERROR_INDIRECT_OVERFLOW line 1853)?
It is perfectly fine to set num_retry=0 in such cases.
Lastly, he max retry is hardcoded at 8 (line 1816), do you feel like this will
work out the same retry value in all vpp ports?
I do'nt see why not, but fine tuning is possible. I was told that OVS is doing
the same, same retry count (8).
If not it might be worth making it a vpp config parameter.
Contributions are welcome...
Also which performance test did you run to see the 40% improvement?
Maciek and Peter tested in their testbed.
vpp-dev mailing list