Alternativa de arch_fast_hash no kernel do Linux v3.19 e acima

0

Para encontrar o valor de hash de um determinado buffer, usei a função arch_fast_hash presente no kernel Linux v3.16 declarada em include/linux/hash.h e definida em linux/lib/hash.c .

Mas no kernel Linux v3.19, essa função desapareceu. Poucas novas funções e macros estão lá, mas sem documentação apropriada.

Qualquer entidade pode me ajudar com uma técnica de hash apropriada ou qual é a alternativa de arch_fast_hash na versão 3.19.

E também há alguma alternativa mais rápida para o hash?

Links

include / linux / hash.h no Linux Kernel v3.16
inclui / linux / hash.h no Linux Kernel v3.19

    
por RatDon 28.05.2015 / 09:56

1 resposta

0

Tente:

#include <linux/jhash.h>

e use esta função:

/* 
* 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);
    
por 16.10.2015 / 17:07