[ovs-git] [openvswitch/ovs] b1e045: ovn-controller: Only process lflows for local data...

GitHub noreply at github.com
Wed Feb 3 15:36:21 UTC 2016


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: b1e04512f7150aa9d98a121b32f820c316522372
      https://github.com/openvswitch/ovs/commit/b1e04512f7150aa9d98a121b32f820c316522372
  Author: Russell Bryant <russell at ovn.org>
  Date:   2016-02-03 (Wed, 03 Feb 2016)

  Changed paths:
    M ovn/controller/lflow.c
    M ovn/controller/lflow.h
    M ovn/controller/ovn-controller.c

  Log Message:
  -----------
  ovn-controller: Only process lflows for local datapaths.

Previously, ovn-controller translated logical flows into OpenFlow flows
for *every* logical datapath.  This patch makes it so we skip doing so
for the egress pipeline if the datapath is a logical switch with no
logical ports bound locally.  In that case, the flows have no effect.

This was the code path taking the most time in a large scale OVN
environment and was an easy optimization to make based on the existing
local_datapaths info.

In this environment, while idling, ovn-controller was taking up about
20% CPU with this patch, while other nodes were in the 40-70% range.

Reported-at: https://bugs.launchpad.net/networking-ovn/+bug/1536003
Signed-off-by: Russell Bryant <russell at ovn.org>
Tested-by: Matt Mulsow <mamulsow at us.ibm.com>
Acked-by: Ben Pfaff <blp at ovn.org>
Acked-By: Kyle Mestery <mestery at mestery.com>




More information about the git mailing list