[ovs-dev] [PATCH RFC 5/8] ovs-rcu: New library.

Jarno Rajahalme jrajahalme at nicira.com
Fri Jan 24 18:24:51 UTC 2014


On Jan 24, 2014, at 9:23 AM, Ben Pfaff <blp at nicira.com> wrote:

> On Fri, Jan 24, 2014 at 09:13:58AM -0800, Jarno Rajahalme wrote:
>> 
>> On Jan 22, 2014, at 4:11 PM, Ben Pfaff <blp at nicira.com> wrote:
>> 
>>> Signed-off-by: Ben Pfaff <blp at nicira.com>
>>> +#include <urcu-qsbr.h>
>> 
>> This file doesn?t exist. Should I install something to get this?
> 
> You need liburcu.  On Debian: "apt-get install liburcu-dev".

I see roughly a 10% increase in TCP_CRR flow set-up rate with this patch series, so definitely the right way to go. I still see ofproto_rule_ref/unref having a notable cost due to the atomic count:

Events: 373K cycles
+   6.93%    ovs-vswitchd  ovs-vswitchd           [.] find_match_wc
-   4.29%    ovs-vswitchd  libpthread-2.15.so     [.] pthread_mutex_lock 
   - pthread_mutex_lock
      + 52.48% rule_dpif_credit_stats
      + 9.48% fat_rwlock_rdlock
      + 5.65% vsp_realdev_to_vlandev
      + 4.60% ofproto_has_vlan_splinters
      + 4.27% udpif_flow_dumper
      + 4.18% vsp_adjust_flow
      + 3.60% dpif_linux_recv
      + 2.65% netdev_vport_inc_tx
      + 2.49% handle_flow_mod__
      + 2.29% nl_transact_multiple
      + 2.24% guarded_list_pop_all
      + 1.73% netdev_vport_inc_rx
      + 1.48% udpif_dispatcher
      + 0.98% udpif_upcall_handler
      + 0.92% ofoperation_create
+   3.15%    ovs-vswitchd  [kernel.kallsyms]      [k] __ticket_spin_lock
+   2.41%    ovs-vswitchd  ovs-vswitchd           [.] flow_hash_in_minimask_range
+   1.97%    ovs-vswitchd  libpthread-2.15.so     [.] pthread_mutex_unlock
+   1.95%    ovs-vswitchd  ovs-vswitchd           [.] classifier_lookup
+   1.94%    ovs-vswitchd  libc-2.15.so           [.] 0x7f4e6
+   1.73%    ovs-vswitchd  ovs-vswitchd           [.] ofproto_rule_unref
+   1.45%    ovs-vswitchd  ovs-vswitchd           [.] flow_hash_in_minimask
+   1.27%    ovs-vswitchd  ovs-vswitchd           [.] do_xlate_actions
+   1.26%    ovs-vswitchd  ovs-vswitchd           [.] ofproto_rule_ref
+   1.12%         netperf  [kernel.kallsyms]      [k] __ticket_spin_lock
+   0.89%         swapper  [kernel.kallsyms]      [k] intel_idle
+   0.88%    ovs-vswitchd  [openvswitch]          [k] masked_flow_lookup
+   0.80%    ovs-vswitchd  ovs-vswitchd           [.] hindex_node_with_hash
+   0.77%    ovs-vswitchd  [ixgbe]                [k] ixgbe_poll
+   0.70%    ovs-vswitchd  ovs-vswitchd           [.] minimatch_matches_flow
+   0.65%    ovs-vswitchd  libpthread-2.15.so     [.] pthread_rwlock_rdlock

  Jarno


More information about the dev mailing list