doc: fix rte_hash_hash comment for ambiguity

Message ID 1556530816-423522-1-git-send-email-yipeng1.wang@intel.com (mailing list archive)
State Accepted, archived
Headers
Series doc: fix rte_hash_hash comment for ambiguity |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Wang, Yipeng1 April 29, 2019, 9:40 a.m. UTC
  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

Dharmik Thakkar April 29, 2019, 8:05 p.m. UTC | #1
> 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>
  
John McNamara April 30, 2019, 11:20 a.m. UTC | #2
> -----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>
  
Thomas Monjalon May 4, 2019, 9:32 p.m. UTC | #3
> > 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
  

Patch

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.