Subject: Re: [net-next PATCH V2 3/9] net: frag, move LRU list maintenance outside of rwlock

From: Jesper Dangaard Brouer <[email-masked]>
Date: Thu, 29 Nov 2012 23:33:51 +0100

On Thu, 2012-11-29 at 09:54 -0800, Eric Dumazet wrote:
> On Thu, 2012-11-29 at 12:48 -0500, David Miller wrote:
> > From: Eric Dumazet <[email-masked]>
> > Date: Thu, 29 Nov 2012 09:43:24 -0800
> > 
> > > Use a schem with a hash table of 256 (or 1024) slots.
> > > 
> > > Each slot/bucket has : 
> > >   - Its own spinlock.
> > >   - List of items
> > >   - A limit of 5 (or so) elems in the list.
> > > 
> > > No more LRU, no more rehash (thanks to jhash and the random seed at boot
> > > or first frag created), no more reader-writer lock.
> > > 
> > > Use a percpu_counter to implement ipfrag_low_thresh/ipfrag_high_thresh
> > 
> > If we limit the chain sizes to 5 elements, there is no need for
> > any thresholds at all.
> 
> One element can hold about 100KB.
> 
> I guess some systems could have some worries if we consume 1024 * 5 *
> 100 KB

1024 * 5 * 100k = 512 MB  -- That's just crasy!
I guess the embedded guys is going to choke reading this! 

Look at what I have achieved with 256KBytes per CPU...

--Jesper