[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110708.164751.1543109601226116469.davem@davemloft.net>
Date: Fri, 08 Jul 2011 16:47:51 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: shemminger@...tta.com
Cc: roland@...estorage.com, johnwheffner@...il.com, mj@....cz,
netdev@...r.kernel.org
Subject: Re: ipv4: Simplify ARP hash function.
From: Stephen Hemminger <shemminger@...tta.com>
Date: Fri, 8 Jul 2011 16:41:28 -0700
> What about using murmur hash which has a four byte pass as well.
> https://sites.google.com/site/murmurhash/
I'm trying to avoid multiplies that are not done in hardware on some
cpus.
Right now I'm looking at one of Thomas Wang's hashes, referenced on
Bob Jenkin's hash analysis page:
u32 hashint(u32 a)
{
a += ~(a<<15);
a ^= (a>>10);
a += (a<<3);
a ^= (a>>6);
a += ~(a<<11);
a ^= (a>>16);
return a;
}
It's 15 instructions, and produces better entropy in the low bits of
the result than the high bits, which is fine for how we'll use this
thing.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists