doc: fix rte_hash_hash comment for ambiguity
Checks
Commit Message
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
Signed-off-by: Yipeng Wang <yipeng1.wang@intel.com>
Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Reported-by: Andrey Nikolaev <gentoorion@gmail.com>
---
doc/guides/prog_guide/multi_proc_support.rst | 2 +-
lib/librte_hash/rte_hash.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
> On Apr 29, 2019, at 4:40 AM, Yipeng Wang <yipeng1.wang@intel.com> wrote:
>
> 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
>
> Signed-off-by: Yipeng Wang <yipeng1.wang@intel.com>
> Suggested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> Reported-by: Andrey Nikolaev <gentoorion@gmail.com>
> ---
> doc/guides/prog_guide/multi_proc_support.rst | 2 +-
> lib/librte_hash/rte_hash.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/doc/guides/prog_guide/multi_proc_support.rst b/doc/guides/prog_guide/multi_proc_support.rst
> index 1384fe3..761fca9 100644
> --- a/doc/guides/prog_guide/multi_proc_support.rst
> +++ b/doc/guides/prog_guide/multi_proc_support.rst
> @@ -176,7 +176,7 @@ Some of these are documented below:
>
> * 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
> diff --git a/lib/librte_hash/rte_hash.h b/lib/librte_hash/rte_hash.h
> index c93d1a1..abba8d7 100644
> --- a/lib/librte_hash/rte_hash.h
> +++ b/lib/librte_hash/rte_hash.h
> @@ -463,7 +463,7 @@ rte_hash_lookup_with_hash(const struct rte_hash *h,
>
> /**
> * 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.
> --
> 2.7.4
>
Acked-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Yipeng Wang
> Sent: Monday, April 29, 2019 10:40 AM
> To: Wang, Yipeng1 <yipeng1.wang@intel.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>; gentoorion@gmail.com; Burakov, Anatoly
> <anatoly.burakov@intel.com>
> Cc: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] doc: fix rte_hash_hash comment for ambiguity
>
> 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.
Acked-by: John McNamara <john.mcnamara@intel.com>
> > 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.
>
> Acked-by: John McNamara <john.mcnamara@intel.com>
Applied, thanks
@@ -176,7 +176,7 @@ Some of these are documented below:
* 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
@@ -463,7 +463,7 @@ rte_hash_lookup_with_hash(const struct rte_hash *h,
/**
* 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.