diff options
author | Tonghao Zhang <xiangxia.m.yue@gmail.com> | 2019-11-01 22:23:51 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-11-03 17:18:03 -0800 |
commit | 0a3e01371db17d753dd92ec4d0fc6247412d3b01 (patch) | |
tree | 5c4a2ddab8d603fbc5811775523f544307549b71 /net/openvswitch | |
parent | 515b65a4b99197ae062a795ab4de919e6d04be04 (diff) | |
download | linux-stable-0a3e01371db17d753dd92ec4d0fc6247412d3b01.tar.gz linux-stable-0a3e01371db17d753dd92ec4d0fc6247412d3b01.tar.bz2 linux-stable-0a3e01371db17d753dd92ec4d0fc6247412d3b01.zip |
net: openvswitch: add likely in flow_lookup
The most case *index < ma->max, and flow-mask is not NULL.
We add un/likely for performance.
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: William Tu <u9012063@gmail.com>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch')
-rw-r--r-- | net/openvswitch/flow_table.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index 96757e2ed256..9f5a06e5d974 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c @@ -519,7 +519,7 @@ static struct sw_flow *flow_lookup(struct flow_table *tbl, struct sw_flow_mask *mask; int i; - if (*index < ma->max) { + if (likely(*index < ma->max)) { mask = rcu_dereference_ovsl(ma->masks[*index]); if (mask) { flow = masked_flow_lookup(ti, key, mask, n_mask_hit); @@ -534,7 +534,7 @@ static struct sw_flow *flow_lookup(struct flow_table *tbl, continue; mask = rcu_dereference_ovsl(ma->masks[i]); - if (!mask) + if (unlikely(!mask)) break; flow = masked_flow_lookup(ti, key, mask, n_mask_hit); |