From: Patrick McHardy <kaber@xxxxxxxxx> Date: Wed, 18 Feb 2009 10:56:45 +0100 > Stephen Hemminger wrote: > > > @@ -50,6 +50,7 @@ struct ip_ct_tcp_state { > > struct ip_ct_tcp > > { > > + spinlock_t lock; > > struct ip_ct_tcp_state seen[2]; /* connection parameters per direction */ > > u_int8_t state; /* state of the connection (enum tcp_conntrack) */ > > /* For detecting stale connections */ > > Eric already posted a patch to use an array of locks, which is > a better approach IMO since it keeps the size of the conntrack > entries down. Just as a side note, we generally frown upon the hash-array-of-spinlocks approach to scalability. If you need proof that in the long term it's suboptimal, note that: 1) this is Solaris's approach to locking scalability :-) 2) every such case in the kernel eventually gets transformed into RCU, a tree/trie based scheme, or some combination of the two So maybe for now it's ok, but keep in mind that eventually this is certain to change. :) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html