From: Tonghao Zhang <xiangxia.m....@gmail.com> The most case *index < ma->count, and flow-mask is not NULL. We add un/likely for performance.
Signed-off-by: Tonghao Zhang <xiangxia.m....@gmail.com> --- net/openvswitch/flow_table.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c index 7aba5b4..1fc6be2 100644 --- a/net/openvswitch/flow_table.c +++ b/net/openvswitch/flow_table.c @@ -516,7 +516,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->count)) { mask = rcu_dereference_ovsl(ma->masks[*index]); if (mask) { flow = masked_flow_lookup(ti, key, mask, n_mask_hit); @@ -525,13 +525,13 @@ static struct sw_flow *flow_lookup(struct flow_table *tbl, } } - for (i = 0; i < ma->max; i++) { + for (i = 0; i < ma->count; i++) { if (i == *index) 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