[ovs-git] [ovn-org/ovn] 3a52f0: patch: Use indexes when iterating on localnet/l2ga...

Dumitru Ceara noreply at github.com
Sun Mar 28 06:45:29 UTC 2021


  Branch: refs/heads/master
  Home:   https://github.com/ovn-org/ovn
  Commit: 3a52f0534889e77347245b7bc85ba28ab3b52855
      https://github.com/ovn-org/ovn/commit/3a52f0534889e77347245b7bc85ba28ab3b52855
  Author: Dumitru Ceara <dceara at redhat.com>
  Date:   2021-03-27 (Sat, 27 Mar 2021)

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

  Log Message:
  -----------
  patch: Use indexes when iterating on localnet/l2gateway port bindings.

In large scale deployments it's expected that there are many port
bindings.  Out of these only a small fraction is usually a
localnet/l2gateway port.

Instead of iterating on all SB port bindings at every ovn-controller
iteration in patch_run()/add_bridge_mappings(), use IDL indexes to only
iterate over relevant port bindings, based on 'type'.

For example, running perf on ovn-controller on such deployments we get:

Without using IDL indexed iteration:
    Children      Self  Command         Shared Object   Symbol
  +    5.79%     5.34%  ovn-controller  ovn-controller  [.] patch_run

With IDL indexed iteration:
    Children      Self  Command         Shared Object   Symbol
  +    0.55%     0.04%  ovn-controller  ovn-controller  [.] patch_run

Reported-at: https://bugzilla.redhat.com/1938950
Signed-off-by: Dumitru Ceara <dceara at redhat.com>
Signed-off-by: Han Zhou <hzhou at ovn.org>




More information about the git mailing list