[ovs-dev] [PATCH] datapath: avoid deferred execution of recirc actions

pravin shelar pshelar at ovn.org
Tue Sep 20 17:02:42 UTC 2016


On Tue, Sep 20, 2016 at 5:55 AM, Lance Richardson <lrichard at redhat.com> wrote:
> 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>

I pushed patch to master and branch-2.6.

Thanks.



More information about the dev mailing list