[ovs-git] [openvswitch/ovs] 60759b: datapath: Remove recirc stack depth limit check

GitHub noreply at github.com
Sat Sep 6 00:35:18 UTC 2014


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 60759b2b9d0cb39d9eddfb46bebab55a9850de9d
      https://github.com/openvswitch/ovs/commit/60759b2b9d0cb39d9eddfb46bebab55a9850de9d
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h
    M datapath/vport.c

  Log Message:
  -----------
  datapath: Remove recirc stack depth limit check

Future patches will change the recirc action implementation to not
using recursion. The stack depth detection is no longer necessary.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


  Commit: 2c8c4fb7ff82f20cf742bea0625003a8eb428241
      https://github.com/openvswitch/ovs/commit/2c8c4fb7ff82f20cf742bea0625003a8eb428241
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2014-09-05 (Fri, 05 Sep 2014)

  Changed paths:
    M datapath/actions.c
    M datapath/datapath.c
    M datapath/datapath.h

  Log Message:
  -----------
  datapath: Implement recirc action without recursion

Since kernel stack is limited in size, it is not wise to using
recursive function with large stack frames.

This patch provides an alternative implementation of recirc action
without using recursion.

A per CPU fixed sized, 'deferred action FIFO', is used to store either
recirc or sample actions encountered during execution of an action
list. Not executing recirc or sample action in place, but rather execute
them laster as 'deferred actions' avoids recursion.

Deferred actions are only executed after all other actions has been
executed, including the ones triggered by loopback from the kernel
network stack.

The size of the private FIFO, currently set to 20, limits the number
of total 'deferred actions' any one packet can accumulate.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Pravin B Shelar <pshelar at nicira.com>


Compare: https://github.com/openvswitch/ovs/compare/341857504063...2c8c4fb7ff82


More information about the git mailing list