[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