Linux カーネル v3.19 以降の arch_fast_hash の代替

Linux カーネル v3.19 以降の arch_fast_hash の代替

特定のバッファのハッシュ値を見つけるために、で宣言されで定義されているarch_fast_hashLinux カーネル v3.16 の関数を使用しました。include/linux/hash.hlinux/lib/hash.c

しかし、Linux カーネル v3.19 では、その関数はなくなりました。いくつかの新しい関数とマクロがありますが、適切なドキュメントはありません。

arch_fast_hash適切なハッシュ手法、またはv3.19の代替手段についてどなたか教えてください。

また、ハッシュよりも高速な代替手段はありますか?

リンク

Linux カーネル v3.16 の include/linux/hash.h
Linux カーネル v3.19 の include/linux/hash.h

答え1

試す:

#include <linux/jhash.h>

この関数を使用します:

/* 
* jhash - hash an arbitrary key
* @k: sequence of bytes as key
* @length: the length of the key
* @initval: the previous hash, or an arbitray value
* 
* The generic version, hashes an arbitrary sequence of bytes. 
* No alignment or length assumptions are made about the input key.
* Returns the hash value of the key. The result depends on endianness.
*/

u32 jhash(const void *key, u32 length, u32 initval);

関連情報