Message ID | 1597963790-12362-12-git-send-email-gvrose8192@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | Add support for Linux kernels up to 5.9.x | expand |
On Fri, Aug 21, 2020 at 6:50 AM Greg Rose <gvrose8192@gmail.com> wrote: > > From: Tonghao Zhang <xiangxia.m.yue@gmail.com> > > Upstream commit: > commit 0a3e01371db17d753dd92ec4d0fc6247412d3b01 > Author: Tonghao Zhang <xiangxia.m.yue@gmail.com> > Date: Fri Nov 1 22:23:51 2019 +0800 > > 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> > > Cc: Tonghao Zhang <xiangxia.m.yue@gmail.com> > Signed-off-by: Greg Rose <gvrose8192@gmail.com> Reviewed-by: Tonghao Zhang <xiangxia.m.yue@gmail.com> > --- > datapath/flow_table.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/datapath/flow_table.c b/datapath/flow_table.c > index 7efaa80..ca2efe9 100644 > --- a/datapath/flow_table.c > +++ b/datapath/flow_table.c > @@ -541,7 +541,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); > @@ -556,7 +556,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); > -- > 1.8.3.1 >
diff --git a/datapath/flow_table.c b/datapath/flow_table.c index 7efaa80..ca2efe9 100644 --- a/datapath/flow_table.c +++ b/datapath/flow_table.c @@ -541,7 +541,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); @@ -556,7 +556,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);