netdev: fold name hash properly (v3)
authorstephen hemminger <shemminger@vyatta.com>
Tue, 10 Nov 2009 07:20:34 +0000 (07:20 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Nov 2009 03:22:12 +0000 (19:22 -0800)
commit08e9897d512fe7a67e46209543b3815b57a36dc7
tree0fad8d5d896a0b191f2df1425afa9565041dedae
parent7e5ca6a22de8fa79897daae51d76b473e44f8066
netdev: fold name hash properly (v3)

The full_name_hash function does not produce well distributed values in
the lower bits, so most code uses hash_32() to fold it.  This is really
a bug introduced when name hashing was added, back in 2.5 when I added
name hashing.

hash_32 is all that is needed since full_name_hash returns unsigned int
which is only 32 bits on 64 bit platforms.

Also, there is no point in using hash_32 on ifindex, because the is naturally
sequential and usually well distributed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c