[ovs-dev,net-next,v4,06/10] net: openvswitch: simplify the flow_hash
diff mbox series

Message ID 1571135440-24313-7-git-send-email-xiangxia.m.yue@gmail.com
State New
Headers show
Series
  • optimize openvswitch flow looking up
Related show

Commit Message

Tonghao Zhang Oct. 15, 2019, 10:30 a.m. UTC
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>

Simplify the code and remove the unnecessary BUILD_BUG_ON.

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Tested-by: Greg Rose <gvrose8192@gmail.com>
---
 net/openvswitch/flow_table.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

Comments

William Tu Oct. 18, 2019, 11:27 p.m. UTC | #1
On Wed, Oct 16, 2019 at 5:54 AM <xiangxia.m.yue@gmail.com> wrote:
>
> From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>
> Simplify the code and remove the unnecessary BUILD_BUG_ON.
>
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> Tested-by: Greg Rose <gvrose8192@gmail.com>
> ---

LGTM
Acked-by: William Tu <u9012063@gmail.com>

>  net/openvswitch/flow_table.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
> index a10d421..3e3d345 100644
> --- a/net/openvswitch/flow_table.c
> +++ b/net/openvswitch/flow_table.c
> @@ -432,13 +432,9 @@ int ovs_flow_tbl_flush(struct flow_table *flow_table)
>  static u32 flow_hash(const struct sw_flow_key *key,
>                      const struct sw_flow_key_range *range)
>  {
> -       int key_start = range->start;
> -       int key_end = range->end;
> -       const u32 *hash_key = (const u32 *)((const u8 *)key + key_start);
> -       int hash_u32s = (key_end - key_start) >> 2;
> -
> +       const u32 *hash_key = (const u32 *)((const u8 *)key + range->start);
>         /* Make sure number of hash bytes are multiple of u32. */
> -       BUILD_BUG_ON(sizeof(long) % sizeof(u32));
> +       int hash_u32s = range_n_bytes(range) >> 2;
>
>         return jhash2(hash_key, hash_u32s, 0);
>  }
> --
> 1.8.3.1
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Patch
diff mbox series

diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
index a10d421..3e3d345 100644
--- a/net/openvswitch/flow_table.c
+++ b/net/openvswitch/flow_table.c
@@ -432,13 +432,9 @@  int ovs_flow_tbl_flush(struct flow_table *flow_table)
 static u32 flow_hash(const struct sw_flow_key *key,
 		     const struct sw_flow_key_range *range)
 {
-	int key_start = range->start;
-	int key_end = range->end;
-	const u32 *hash_key = (const u32 *)((const u8 *)key + key_start);
-	int hash_u32s = (key_end - key_start) >> 2;
-
+	const u32 *hash_key = (const u32 *)((const u8 *)key + range->start);
 	/* Make sure number of hash bytes are multiple of u32. */
-	BUILD_BUG_ON(sizeof(long) % sizeof(u32));
+	int hash_u32s = range_n_bytes(range) >> 2;
 
 	return jhash2(hash_key, hash_u32s, 0);
 }