1. 01 7月, 2009 12 次提交
  2. 30 6月, 2009 7 次提交
  3. 29 6月, 2009 7 次提交
  4. 27 6月, 2009 8 次提交
  5. 26 6月, 2009 5 次提交
  6. 25 6月, 2009 1 次提交
    • J
      nf_conntrack: Use rcu_barrier() · 308ff823
      Jesper Dangaard Brouer 提交于
      RCU barriers, rcu_barrier(), is inserted two places.
      
       In nf_conntrack_expect.c nf_conntrack_expect_fini() before the
       kmem_cache_destroy().  Firstly to make sure the callback to the
       nf_ct_expect_free_rcu() code is still around.  Secondly because I'm
       unsure about the consequence of having in flight
       nf_ct_expect_free_rcu/kmem_cache_free() calls while doing a
       kmem_cache_destroy() slab destroy.
      
       And in nf_conntrack_extend.c nf_ct_extend_unregister(), inorder to
       wait for completion of callbacks to __nf_ct_ext_free_rcu(), which is
       invoked by __nf_ct_ext_add().  It might be more efficient to call
       rcu_barrier() in nf_conntrack_core.c nf_conntrack_cleanup_net(), but
       thats make it more difficult to read the code (as the callback code
       in located in nf_conntrack_extend.c).
      Signed-off-by: NJesper Dangaard Brouer <hawk@comx.dk>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      308ff823