> big-endian machine: > #uname -a > SunOS licia.dtek.chalmers.se 5.8 Generic_108528-14 sun4u sparc SUNW,Sun-Fire-280 > > http://www.dtek.chalmers.se/~d97gozem/cttest/0.4/ > > All graphs here look about equally good. I dont know if there is a bug > somewhere in cttest that might do this.
I don't think so. Thanks for the run. It seems like abcd does not show detoriation at even table sizes, on big endian systems. To confirm this, I just added ntohl/ntohs to the abcd hash, and it really comes out nicely. Don, hope this helps your analysis. static u32 hash_abcd_host(struct ct_key *key) { u32 res; PER_HASH_TIMER_1( res = 0x47441DFB * ntohl(key->sip) + 0x57655A7D * ntohl(key->dip) + 0x1C7F1D2D * ntohs(key->sport) + 0xDF91D738 * ntohs(key->dport) + key->proto; ); return res; } Slightly surprising, this code runs about half as fast as the normal abcd, on my little endian box. best regards Patrick