[ovs-git] [openvswitch/ovs] 615539: datapath: avoid deferred execution of recirc actio...

GitHub noreply at github.com
Tue Sep 20 17:02:03 UTC 2016


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 615539abed52028d458998e2696cd8f7526df99d
      https://github.com/openvswitch/ovs/commit/615539abed52028d458998e2696cd8f7526df99d
  Author: Lance Richardson <lrichard at redhat.com>
  Date:   2016-09-20 (Tue, 20 Sep 2016)

  Changed paths:
    M datapath/actions.c

  Log Message:
  -----------
  datapath: avoid deferred execution of recirc actions

Port upstream fix to datapath module. The only notable difference
between this patch and the upstream version is that the value of
ovs_recursion_limit (5 for upstream kernel, 4 for out-of-tree
module) is maintained in this patch.

Upstream commit:
    commit f43e6dfb056b58628e43179d8f6b59eae417754d
    Author: Lance Richardson <lrichard at redhat.com>
    Date:   Mon Sep 12 17:07:23 2016 -0400

    openvswitch: avoid deferred execution of recirc actions

    The ovs kernel data path currently defers the execution of all
    recirc actions until stack utilization is at a minimum.
    This is too limiting for some packet forwarding scenarios due to
    the small size of the deferred action FIFO (10 entries). For
    example, broadcast traffic sent out more than 10 ports with
    recirculation results in packet drops when the deferred action
    FIFO becomes full, as reported here:
    http://openvswitch.org/pipermail/dev/2016-March/067672.html

    Since the current recursion depth is available (it is already tracked
    by the exec_actions_level pcpu variable), we can use it to determine
    whether to execute recirculation actions immediately (safe when
    recursion depth is low) or defer execution until more stack space is
    available.

    With this change, the deferred action fifo size becomes a non-issue
    for currently failing scenarios because it is no longer used when
    there are three or fewer recursions through ovs_execute_actions().

    Suggested-by: Pravin Shelar <pshelar at ovn.org>

Signed-off-by: Lance Richardson <lrichard at redhat.com>
Acked-by: Pravin B Shelar <pshelar at ovn.org>




More information about the git mailing list