[ovs-dev] [PATCH] dpif-netdev: Optimize the exact match lookup.
Ben Pfaff
blp at ovn.org
Mon Oct 30 23:15:57 UTC 2017
On Thu, Jul 27, 2017 at 11:38:00PM -0700, Tonghao Zhang wrote:
> When inserting or updating (e.g. emc_insert) a flow to EMC,
> we compare (e.g the hash and miniflow ) the netdev_flow_key.
> If the key is matched, we will update it. If we didn’t find
> the miniflow in the cache, the new flow will be stored.
>
> But when looking up the flow, we compare the hash and miniflow
> of key and make sure it is alive. If a flow is not alive but
> the key is matched, we still will go to next loop. More important,
> we can’t find the flow in the next loop (the flow is not alive in
> the previous loop). This patch simply compares the miniflows of
> the packets.
>
> The topo is shown as below. VM01 sends TCP packets to VM02, and
> OvS forwards packtets.
>
> VM01 -- OVS+DPDK VM02 -- VM03
>
> With this patch, the TCP throughput between VMs is
> 5.37, 5.45, 5.48, 5.59, 5.65, 5.60 Gbs/sec avg: 5.52 Gbs/sec
>
> up to:
> 5.64, 5.65, 5.66, 5.67, 5.62, 5.67 Gbs/sec avg: 5.65 Gbs/sec
>
> (maybe ~2.3% performance improve, but it is hard to tell exactly
> due to variance in the test results).
>
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
Thank you for the patch. I haven't spotted any reviews for this on the
mailing list. I apologize for that--usually I expect to see a review
much more quickly than this. I hope that someone who understands the
dpif-netdev code well will provide a review soon.
More information about the dev
mailing list