1. 15 Oct, 2013 2 commits
    • Julian Anastasov's avatar
      ipvs: avoid rcu_barrier during netns cleanup · 9e4e948a
      Julian Anastasov authored
      commit 578bc3ef ("ipvs: reorganize dest trash") added
      rcu_barrier() on cleanup to wait dest users and schedulers
      like LBLC and LBLCR to put their last dest reference.
      Using rcu_barrier with many namespaces is problematic.
      
      Trying to fix it by freeing dest with kfree_rcu is not
      a solution, RCU callbacks can run in parallel and execution
      order is random.
      
      Fix it by creating new function ip_vs_dest_put_and_free()
      which is heavier than ip_vs_dest_put(). We will use it just
      for schedulers like LBLC, LBLCR that can delay their dest
      release.
      
      By default, dests reference is above 0 if they are present in
      service and it is 0 when deleted but still in trash list.
      Change the dest trash code to use ip_vs_dest_put_and_free(),
      so that refcnt -1 can be used for freeing. As result,
      such checks remain in slow path and the rcu_barrier() from
      netns cleanup can be removed.
      Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      9e4e948a
    • Julian Anastasov's avatar
      ipvs: fix the IPVS_CMD_ATTR_MAX definition · 120c9794
      Julian Anastasov authored
      It was wrong (bigger) but problem is harmless.
      Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
      Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
      120c9794
  2. 10 Oct, 2013 20 commits
  3. 09 Oct, 2013 12 commits
  4. 08 Oct, 2013 6 commits