Re: [PATCH 36/38] netfilter: connlimit: use keyed locks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
> On Mon, 2014-03-17 at 13:42 +0100, Pablo Neira Ayuso wrote:
> > From: Florian Westphal <fw@xxxxxxxxx>
> > 
> > connlimit currently suffers from spinlock contention, example for
> > 4-core system with rps enabled:
> 
> > +#define CONNLIMIT_SLOTS	256
> > +#define CONNLIMIT_LOCK_SLOTS	32
> 
> 32 spinlocks use 2 cache lines (assuming 4 bytes per spinlock, and 64
> bytes cache lines)
> 
> So I guess this probably should be increased to have less false sharing.

True, Jesper pointed out the same thing to me.

> I believe this hash table of spinlocks could be global, not in each
> struct xt_connlimit_data.

Good point.  Indeed, this can be global.  I did not increase it
since more locks than tree slots is illegal (need exclusive access to
each rtree at this time). I guess we could align it or increase number
of lock and rbtree slots (after moving lock slots out of connlimit
data).

Thanks for the heads-up Eric, I'll see about addressing this later this
week if noone beats me to it.
--
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




[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux