netdev
[Top] [All Lists]

Re: [6/6]: jenkins hash for neigh

To: herbert@xxxxxxxxxxxxxxxxxxx (Herbert Xu)
Subject: Re: [6/6]: jenkins hash for neigh
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 28 Sep 2004 08:00:15 +1000
Cc: davem@xxxxxxxxxxxxx, herbert@xxxxxxxxxxxxxxxxxxx, laforge@xxxxxxxxxxxx, netdev@xxxxxxxxxxx
In-reply-to: <E1CC3FW-0001wo-00@gondolin.me.apana.org.au>
Organization: Core
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: tin/1.7.4-20040225 ("Benbecula") (UNIX) (Linux/2.4.27-hx-1-686-smp (i686))
Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> wrote:
> 
> Please at least do something like this:
> 
> size = tbl->hash_mask + 1;
> if (tbl->entries > size) {
>        write_lock_bh(&tbl->lock);
>        neigh_hash_grow(tbl, size << 1);
>        write_unlock_bh(&tbl->lock);
> }
> 
> That'll at least kill the first race.  You can kill the race of
> growing into the same size by doing the if check again inside the
> locks.

Never mind.  Unless you do the check again inside the lock this
may actually shrink :)
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

<Prev in Thread] Current Thread [Next in Thread>