关于LVS HASH算法的一个问题
http://zh.linuxvirtualserver.org/node/59
使用了如下的HASH算法:
inline unsigned ip_vs_hash_key(unsigned int key) { return (key * 2654435761UL) & IP_VS_TAB_MASK; }
发现在使用中,仅仅是key的低位产生了作用
for (i=0; i
输出结果是:
Hello 82, key 3e2
Hello 482, key 3e2
Hello 882, key 3e2
...
Hello 3f082, key 3e2
Hello 3f482, key 3e2
Hello 3f882, key 3e2假如使用
(key* 2654435761UL) >>(32-MASK_N_BIT);
就不会有这个问题(取结果高位)
wensong
周六, 2006-09-23 10:20
Permalink
这个想法不错,谢谢
这个想法不错,谢谢!:)