hash: fix eviction counter
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Fri, 22 Sep 2017 04:25:43 +0000 (05:25 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Sat, 7 Oct 2017 11:50:43 +0000 (13:50 +0200)
commit98b8ec70604065f511aea0a567b039421bc524cc
tree37195b9bced54ec5db56639de971d05d592e4eaa
parent071925527d4be34c6de879e29c5c1dd5eaa829cc
hash: fix eviction counter

When adding a new entry in a hash table, there is
a maximum number of evictions that can be
performed. When the counter of these evictions reaches
this maximum, the entry cannot be added, as it is considered
that the algorithm has encountered an infinite loop.

The problem with the current implementation, is that this
counter was declared as a static variable.
If there are multiple threads adding entries in the same table
or in different tables, they should access different counters,
one per core and per table.

Therefore, the variable has been modified to be non-static.

Fixes: 243e93a5046f ("hash: fix unlimited cuckoo path")
Cc: stable@dpdk.org
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_hash/rte_cuckoo_hash.c