[dpdk-users] My questions about dpdk hash
成桦者别
373755701 at qq.com
Thu Apr 6 12:57:38 CEST 2017
Hi all:
here is my pseudo code:
struct HASH_KEY
{
int data1;
int data2;
};
void test_hash_add_key()
{
struct rte_hash* testHash;
struct rte_hash_parameters hash_params;
hash_params.name = "xxxyyy";
hash_params.entries = 64;
hash_params.hash_func = rte_jhash;
hash_params.hash_func_init_val = 0;
hash_params.key_len = sizeof(struct HASH_KEY);
hash_params.socket_id = rte_socket_id();
testHash = rte_hash_create(&hash_params);
if(NULL == testHash)
{
return;
}
struct HASH_KEY hashKey;
hashKey.data1=1;
hashKey.data2=2;
int iRet = rte_hash_add_key(testHash,(void*)&hashKey);
}
int main()
{
rte_eal_init();
test_hash_add_key();
return 0;
}
The program give me a error "signal SIGILL ,illegal instruction" in __rte_hash_add_key_with_hash,when i GDB it.
Using "static struct rte_hash_parameters hash_params; " or "static struct HASH_KEY hashKey; program would be OKey." , program would be okey and the error disappeared.
BUT,the test demo is so simple, I want to know WHY can it encounter an error.
Any help would be appreciated.
More information about the users
mailing list