rte_hash_hash is multi-thread safe but not multi-process safe
because of the use of function pointers. Previous document
and comment says the other way around. This commit fixes
the issue.
Fixes:
fc1f2750a3ec ("doc: programmers guide")
Fixes:
48a399119619 ("hash: replace with cuckoo hash implementation")
Cc: stable@dpdk.org
Reported-by: Andrey Nikolaev <gentoorion@gmail.com>
Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Signed-off-by: Yipeng Wang <yipeng1.wang@intel.com>
Acked-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
* The use of function pointers between multiple processes running based of different compiled binaries is not supported,
since the location of a given function in one process may be different to its location in a second.
- This prevents the librte_hash library from behaving properly as in a multi-threaded instance,
+ This prevents the librte_hash library from behaving properly as in a multi-process instance,
since it uses a pointer to the hash function internally.
To work around this issue, it is recommended that multi-process applications perform the hash calculations by directly calling
/**
* Calc a hash value by key.
- * This operation is not multi-thread safe.
+ * This operation is not multi-process safe.
*
* @param h
* Hash table to look in.