summaryrefslogtreecommitdiff
path: root/drivers/target
diff options
context:
space:
mode:
authorLance Richardson <lrichard@redhat.com>2016-09-13 10:08:54 -0400
committerDavid S. Miller <davem@davemloft.net>2016-09-15 20:35:52 -0400
commit2679d040412df847d390a3a8f0f224a7c91f7fae (patch)
tree6c248ecad9b1fe9fa94aab9ae9ba265e9d61ee23 /drivers/target
parentfaef091c5a930a75586ebcb089ee9ad7c1eedaf3 (diff)
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@ovn.org> Signed-off-by: Lance Richardson <lrichard@redhat.com> Acked-by: Pravin B Shelar <pshelar@ovn.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/target')
0 files changed, 0 insertions, 0 deletions