Alternativa de arch_fast_hash en el kernel de Linux v3.19 y superior

Alternativa de arch_fast_hash en el kernel de Linux v3.19 y superior

Para encontrar el valor hash de un búfer determinado, utilicé arch_fast_hashla función presente en el kernel de Linux v3.16 declarada include/linux/hash.hy definida en linux/lib/hash.c.

Pero en el kernel de Linux v3.19, esa función desapareció. Hay pocas funciones y macros nuevas, pero sin la documentación adecuada.

¿Alguien puede ayudarme con una técnica de hash adecuada o cuál es la alternativa arch_fast_hashen v3.19?

¿Y también existe alguna alternativa más rápida al hachís?

Enlaces

incluir/linux/hash.h en el kernel de Linux v3.16
incluir/linux/hash.h en el kernel de Linux v3.19

Respuesta1

Intentar:

#include <linux/jhash.h>

y usa esta función:

/* 
* 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);

información relacionada