CONNTRACK_LOCKS
extern spinlock_t nf_conntrack_locks[CONNTRACK_LOCKS];
h1 %= CONNTRACK_LOCKS;
h2 %= CONNTRACK_LOCKS;
h1 %= CONNTRACK_LOCKS;
h2 %= CONNTRACK_LOCKS;
for (i = 0; i < CONNTRACK_LOCKS; i++) {
lockp = &nf_conntrack_locks[*bucket % CONNTRACK_LOCKS];
for (i = 0; i < CONNTRACK_LOCKS; i++)
BUILD_BUG_ON_NOT_POWER_OF_2(CONNTRACK_LOCKS);
__cacheline_aligned_in_smp spinlock_t nf_conntrack_locks[CONNTRACK_LOCKS];
lockp = &nf_conntrack_locks[cb->args[0] % CONNTRACK_LOCKS];
if (nf_nat_htable_size < CONNTRACK_LOCKS)
nf_nat_htable_size = CONNTRACK_LOCKS;
for (i = 0; i < CONNTRACK_LOCKS; i++)
static spinlock_t nf_nat_locks[CONNTRACK_LOCKS];
lock = &nf_nat_locks[srchash % CONNTRACK_LOCKS];
spin_lock_bh(&nf_nat_locks[h % CONNTRACK_LOCKS]);
spin_unlock_bh(&nf_nat_locks[h % CONNTRACK_LOCKS]);