]> asedeno.scripts.mit.edu Git - linux.git/commit
net: openvswitch: add flow-mask cache for performance
authorTonghao Zhang <xiangxia.m.yue@gmail.com>
Fri, 1 Nov 2019 14:23:45 +0000 (22:23 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Nov 2019 01:18:03 +0000 (17:18 -0800)
commit04b7d136d015f220b1003e6c573834658d507a31
treecc22e3309f1c05eeb3b125f001ce5db6b8f3ad79
parentae8a76fb8b5d03fa2adc7249dc6131ba6a0c6119
net: openvswitch: add flow-mask cache for performance

The idea of this optimization comes from a patch which
is committed in 2014, openvswitch community. The author
is Pravin B Shelar. In order to get high performance, I
implement it again. Later patches will use it.

Pravin B Shelar, says:
| On every packet OVS needs to lookup flow-table with every
| mask until it finds a match. The packet flow-key is first
| masked with mask in the list and then the masked key is
| looked up in flow-table. Therefore number of masks can
| affect packet processing performance.

Link: https://github.com/openvswitch/ovs/commit/5604935e4e1cbc16611d2d97f50b717aa31e8ec5
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: William Tu <u9012063@gmail.com>
Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/openvswitch/datapath.c
net/openvswitch/flow_table.c
net/openvswitch/flow_table.h