1. 26 3月, 2009 1 次提交
    • E
      netfilter: nf_conntrack: use SLAB_DESTROY_BY_RCU and get rid of call_rcu() · ea781f19
      Eric Dumazet 提交于
      Use "hlist_nulls" infrastructure we added in 2.6.29 for RCUification of UDP & TCP.
      
      This permits an easy conversion from call_rcu() based hash lists to a
      SLAB_DESTROY_BY_RCU one.
      
      Avoiding call_rcu() delay at nf_conn freeing time has numerous gains.
      
      First, it doesnt fill RCU queues (up to 10000 elements per cpu).
      This reduces OOM possibility, if queued elements are not taken into account
      This reduces latency problems when RCU queue size hits hilimit and triggers
      emergency mode.
      
      - It allows fast reuse of just freed elements, permitting better use of
      CPU cache.
      
      - We delete rcu_head from "struct nf_conn", shrinking size of this structure
      by 8 or 16 bytes.
      
      This patch only takes care of "struct nf_conn".
      call_rcu() is still used for less critical conntrack parts, that may
      be converted later if necessary.
      Signed-off-by: NEric Dumazet <dada1@cosmosbay.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      ea781f19
  2. 08 10月, 2008 11 次提交