[ovs-dev,1/2] datapath: Optimize updating for OvS flow_stats.

Message ID 1505091651-55964-2-git-send-email-xiangxia.m.yue@gmail.com
State Accepted
Headers show
Series
  • datapath: Optimize operations for OvS flow_stats.
Related show

Commit Message

Tonghao Zhang Sept. 11, 2017, 1 a.m.
Upstream commit:
	commit c57c054eb5b1ccf230c49f736f7a018fcbc3e952
	Author: Tonghao Zhang <xiangxia.m.yue@gmail.com>
	Date:   Mon Jul 17 23:28:05 2017 -0700

	openvswitch: Optimize updating for OvS flow_stats.

	In the ovs_flow_stats_update(), we only use the node
	var to alloc flow_stats struct. But this is not a
	common case, it is unnecessary to call the numa_node_id()
	everytime. This patch is not a bugfix, but there maybe
	a small increase.

	Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
	Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
---
 datapath/flow.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Andy Zhou Sept. 22, 2017, 7:44 p.m. | #1
On Sun, Sep 10, 2017 at 6:00 PM, Tonghao Zhang <xiangxia.m.yue@gmail.com> wrote:
> Upstream commit:
>         commit c57c054eb5b1ccf230c49f736f7a018fcbc3e952
>         Author: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>         Date:   Mon Jul 17 23:28:05 2017 -0700
>
>         openvswitch: Optimize updating for OvS flow_stats.
>
>         In the ovs_flow_stats_update(), we only use the node
>         var to alloc flow_stats struct. But this is not a
>         common case, it is unnecessary to call the numa_node_id()
>         everytime. This patch is not a bugfix, but there maybe
>         a small increase.
>
>         Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>         Signed-off-by: David S. Miller <davem@davemloft.net>
>
> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Applied both patches to master. Thanks!

Patch

diff --git a/datapath/flow.c b/datapath/flow.c
index c4f63b0..20582df 100644
--- a/datapath/flow.c
+++ b/datapath/flow.c
@@ -71,7 +71,6 @@  void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags,
 			   const struct sk_buff *skb)
 {
 	struct flow_stats *stats;
-	int node = numa_node_id();
 	int cpu = smp_processor_id();
 	int len = skb->len + (skb_vlan_tag_present(skb) ? VLAN_HLEN : 0);
 
@@ -107,7 +106,7 @@  void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags,
                                                               __GFP_THISNODE |
                                                               __GFP_NOWARN |
 							      __GFP_NOMEMALLOC,
-							      node);
+							      numa_node_id());
 				if (likely(new_stats)) {
 					new_stats->used = jiffies;
 					new_stats->packet_count = 1;