最近在看 linux 内核网络相关的代码,里面有许多 rhashtable 的操作。里面会计算 hash 。有些模块的 key 值有好几个成员。我在想是否可以对此进行优化。如果有相关的硬件指令可以使用某种算法对此进行 hash 计算,是否能大幅提升效率。比如有些高性能场景,每秒可能有上百万个包需要对 IP,port 等进行 hash 运算,然后根据 hash 值查找。V 友有相关的经验吗?
1
luny 316 天前
有些硬件是带网络加速单元,就是把一些 hash 和 checksum 硬件计算了,比如 TOE
|
2
zizon 315 天前
除非有相当一部分功能 offload 到硬件,不然只是单纯的 hash offload 的话,按个人理解可能还得走一趟 pic 接口之类的,不一定划算?
|