Hi Eelco,

> > This commit adds the intermediate queue for vHost-user ports. It  >
>improves the throughput in multiple virtual machines deployments and  > also
>in cases with VM doing packet forwarding in kernel stack.
> >
> > This patch is aligned with intermediate queue implementation for dpdk  >
>ports that can be found here: https://patchwork.ozlabs.org/patch/723309/
>
>This patch and the one above combined will increase throughput in general
>however to the cost of additional latency (see some numbers below).
>
>However I still would like to see both patches applied with a flush every tx
>batch. This still increase performance if the rx batch has overlapping egress
>ports, but lacks the latency increase.
>
>It would be nice if you could do your latency tests with this flush included to
>see if you get the same results I got with this patch and the earlier one.

Thanks for reviewing this patch and for all the feedback.  I shall work on 
merging both the DPDK and vHost User intermediate port implementation and post 
it to the ML.  I am going to factor in all your comments. I have to go back and 
recheck few things w.r.t deleting the packets w.r.t 'total pkts' and 'dropped' 
counters.  

>I did do some quick latency and throughput tests (with only this patch
>applied).
>Same test setup as for the other patch set, i.e. two 82599ES 10G port with 64
>byte packets being send at wire speed:
>
>Physical to Virtual test:
>
>flows
>Number      plain                patch +
>of flows  git clone    patch      flush
>========  =========  =========  =========
>10          5945899    8006593    7833914
>32          3872211    6596310    6530133
>50          3283713    5861894    6618711
>100         3132540    5953752    5857226
>500         2964499    5612901    5273006
>1000        2931952    5233089    5178038
>
>
>Physical to Virtual to Physical test:
>
>Number      plain                patch +
>of flows  git clone    patch      flush
>========  =========  =========  =========
>10          3240647    2659526    3652217
>32          2136872    2060313    2834941
>50          1981795    1912476    2897763
>100         1794678    1798084    2014881
>500         1686756    1672014    1657513
>1000        1677795    1628578    1612480
>
>The results for the latency tests mimics your test case 2 form the previous
>patch set, sending 10G traffic @ wire speed:
>
>===== GIT CLONE
>Pkt size  min(ns)  avg(ns)  max(ns)
>  512      10,011   12,100   281,915
>1024       7,870    9,313   193,116
>1280       7,862    9,036   194,439
>1518       8,215    9,417   204,782
>
>===== PATCH
>Pkt size  min(ns)  avg(ns)  max(ns)
>  512      25,044   28,244   774,921
>1024      29,029   33,031   218,653
>1280      26,464   30,097   203,083
>1518      25,870   29,412   204,165
>
>===== PATCH + FLUSH
>Pkt size  min(ns)  avg(ns)  max(ns)
>  512      10,492   13,655   281,538
>1024       8,407    9,784   205,095
>1280       8,399    9,750   194,888
>1518       8,367    9,722   196,973
>

Many thanks and appreciate you for taking time to test the patch and posting 
the throughput and latency details. I will also do the tests once I merge the 
patches and cross check with the above nos. Also I am going to include the 
flush logic as suggested to improve latency.

- Bhanuprakash.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to