Add myself as co-maintainer to EFD library to replace Pablo.
Signed-off-by: Yipeng Wang
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 6913ccc..b3d9aad 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1244,6 +1244,7 @@ F: doc/guides
ith cuckoo hash implementation")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Suggested-by: Pablo de Lara
Reported-by: Andrey Nikolaev
---
doc/guides/prog_guide/multi_proc_support.rst | 2 +-
lib/librte_hash/rte_hash.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(
Add Yipeng and Sameh as additional maintainers.
Signed-off-by: Yipeng Wang
Signed-off-by: Sameh Gobriel
---
MAINTAINERS | 2 ++
1 file changed, 2 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 470f36b..acae6fd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1114,6 +1114,8 @@ F
This commit improves the programmer guide of the hash
library to be more accurate on new features introduced
in 18.11.
Signed-off-by: Yipeng Wang
Signed-off-by: Sameh Gobriel
---
doc/guides/prog_guide/hash_lib.rst | 145 ++---
1 file changed, 85 insertions
The hash scaling unit test is not really needed
any more since the multi-writer is supported now
inside the library and it is tested by multi-writer
unit test.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/Makefile| 1 -
test/test/autotest_data.py| 6
This commit improves the readwrite test to consider
extendable table feature.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_readwrite.c | 42 +
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/test/test
This commit improves the readwrite unit test to cover
more corner cases and reduces the testing time by
reducing the total key count.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_readwrite.c | 32 ++--
1 file changed, 26 insertions
With sequential key, the test will cover more corner
cases with jhash instead of crc hash, since jhash
generates more random hash pattern on sequential key.
It is useful for functional verification.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_multiwriter.c | 3 ++-
1 file changed, 2
Add read-write concurrency test to meson and autotest
file.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
test/test/autotest_data.py | 6 ++
test/test/meson.build | 1 +
2 files changed, 7 insertion
There is a rte_pause in hash table reset function.
Since the loop is not a polling loop on shared
data structure, the rte_pause is not needed.
Fixes: b26473ff8f4a ("hash: add reset function")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
lib/l
coded macro (Bruce)
* Add commit 6 fix to add readwrite test to autotest files.
* Remove unnecessary header in commit 1 (Mattias)
V1->V2:
* In commit 2 change use_jhash to a macro instead of a hard coded
local variable (Bruce).
* Add commit 4 to remove scaling unit test (Bruce).
Signed-off-by: Yipeng
With sequential key, the test will cover more corner
cases with jhash instead of crc hash, since jhash
generates more random hash pattern on sequential key.
It is useful for functional verification.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_multiwriter.c | 3 ++-
1 file changed, 2
The hash scaling unit test is not really needed
any more since the multi-writer is supported now
inside the library and it is tested by multi-writer
unit test.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/Makefile| 1 -
test/test/autotest_data.py| 6
This commit improves the readwrite unit test to cover
more corner cases and reduces the testing time by
reducing the total key count.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_readwrite.c | 31 +--
1 file changed, 25 insertions
This commit improves the readwrite test to consider
extendable table feature.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_readwrite.c | 42 +
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/test/test
There is a rte_pause in hash table reset function.
Since the loop is not a polling loop on shared
data structure, the rte_pause is not needed.
Fixes: b26473ff8f4a ("hash: add reset function")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
lib/l
Add read-write concurrency test to meson and autotest
file.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
test/test/autotest_data.py | 6 ++
test/test/meson.build | 1 +
2 files changed, 7 insertion
test to autotest files.
* Remove unnecessary header in commit 1 (Mattias)
V1->V2:
* In commit 2 change use_jhash to a macro instead of a hard coded
local variable (Bruce).
* Add commit 4 to remove scaling unit test (Bruce).
Signed-off-by: Yipeng Wang
Yipeng Wang (6):
hash: fix unnecessary p
The hash scaling unit test is not really needed
any more since the multi-writer is supported now
inside the library and it is tested by multi-writer
unit test.
Signed-off-by: Yipeng Wang
---
test/test/Makefile| 1 -
test/test/autotest_data.py| 6 --
test/test/meson.build
This commit improves the readwrite test to consider
extendable table feature and add more functional tests
to cover more corner cases.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_readwrite.c | 70 ++---
1 file changed, 58 insertions(+), 12 deletions
There is a rte_pause in hash table reset function.
Since the loop is not a polling loop on shared
data structure, the rte_pause is not needed.
Fixes: b26473ff8f4a ("hash: add reset function")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 4 ++
With sequential key, the test will cover more corner
cases with jhash instead of crc hash, since jhash
generates more random hash pattern on sequential key.
It is useful for functional verification.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_multiwriter.c | 10 +-
1 file changed
st to consider the extendable table.
commit 4: remove scaling unit test.
V1->V2:
* In commit 2 change use_jhash to a macro instead of a hard coded
local variable (Bruce).
* Add commit 4 to remove scaling unit test (Bruce).
Signed-off-by: Yipeng Wang
Yipeng Wang (4):
hash: fix unnecessary paus
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
accommodate the same
number of keys as the specified table size. This provides
100% table capacity guarantee.
Although keys ending up in the ext buckets may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
Acked-by: Dharmik Thakkar
---
lib/librte_hash
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
Reviewed-by: Honnappa Nagarahalli
Acked-by: Dharmik Thakkar
---
test/test/test_hash.c | 159 +++--
test/test
sure that the position will not be changed
to empty before entering the lock.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Reported-by: Honnappa Nagarahalli
Reviewed-by: Honnappa Nagarahalli
Acked-by: Dharmik Thakkar
ommit to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multiple
places.
Signed-off-by: Yipeng Wang
Yipeng Wang (4):
hash: fix race condition in iterate
hash: add extendable bucket feature
test/hash: implement
This patch updates release note for the new extendable bucket
feature and the partial-key hashing.
Signed-off-by: Yipeng Wang
---
doc/guides/rel_notes/release_18_11.rst | 7 +++
1 file changed, 7 insertions(+)
diff --git a/doc/guides/rel_notes/release_18_11.rst
b/doc/guides/rel_notes
This commit improves the readwrite test to consider
extendable table feature and add more functional tests
to cover more corner cases.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_readwrite.c | 70 ++---
1 file changed, 58 insertions(+), 12 deletions
This patch set depends on another rte hash patch set:
http://patchwork.dpdk.org/cover/46106/
This patch set includes three commits to improve rte_hash
and its unit tests.
1. Remove unnecessary pause code in rte_reset function.
2 and 3. Improve the unit test.
Signed-off-by: Yipeng Wang
Yipeng
There is a rte_pause in hash table reset function.
Since the loop is not a polling loop on shared
data structure, the rte_pause is not needed.
Fixes: b26473ff8f4a ("hash: add reset function")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 4 ++
With sequential key, the test will cover more corner
cases with jhash instead of crc hash, since jhash
generates more random hash pattern on sequential key.
It is useful for functional verification.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_multiwriter.c | 15 +++
1 file
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
Reviewed-by: Honnappa Nagarahalli
Acked-by: Dharmik Thakkar
---
test/test/test_hash.c | 159 +++--
test/test
n auto test to add key insertion failure check during
iteration test.
4. test: Add new commit to fix read-write test non-consecutive core issue.
4. hash: Add a new commit to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multipl
accommodate the same
number of keys as the specified table size. This provides
100% table capacity guarantee.
Although keys ending up in the ext buckets may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
Acked-by: Dharmik Thakkar
---
lib/librte_hash
sure that the position will not be changed
to empty before entering the lock.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Reported-by: Honnappa Nagarahalli
Reviewed-by: Honnappa Nagarahalli
Acked-by: Dharmik Thakkar
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
Reviewed-by: Honnappa Nagarahalli
Acked-by: Dharmik Thakkar
---
test/test/test_hash.c | 159 +++--
test/test
accommodate the same
number of keys as the specified table size. This provides
100% table capacity guarantee.
Although keys ending up in the ext buckets may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
Acked-by: Dharmik Thakkar
---
lib/librte_hash
sure that the position will not be changed
to empty before entering the lock.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Reported-by: Honnappa Nagarahalli
Reviewed-by: Honnappa Nagarahalli
Acked-by: Dharmik Thakkar
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multiple
places.
Signed-off-by: Yipeng Wang
Yipeng Wang (4):
hash: fix race condition in iterate
hash: add extendable bucket feature
test/hash: implement extendable bucket
accommodate the same
number of keys as the specified table size. This provides
100% table capacity guarantee.
Although keys ending up in the ext buckets may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 369
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
Reviewed-by: Honnappa Nagarahalli
---
test/test/test_hash.c | 159 +++--
test/test/test_hash_perf.c | 114
sure that the position will not be changed
to empty before entering the lock.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Reported-by: Honnappa Nagarahalli
---
lib/librte_hash/rte_cuckoo_hash.c | 5 ++---
1 file
o fix read-write test non-consecutive core issue.
4. hash: Add a new commit to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multiple
places.
Signed-off-by: Yipeng Wang
Yipeng Wang (4):
hash: fix race condition in
the same
number of keys as the specified table size. This provides
100% table capacity guarantee.
Although keys ending up in the ext buckets may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 376
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
---
test/test/test_hash.c | 159 +++--
test/test/test_hash_perf.c | 114 +++-
2 files
;hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Reported-by: Honnappa Nagarahalli
---
lib/librte_hash/rte_cuckoo_hash.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/librte_hash/rte_cuckoo_hash.c
b/lib/librte_hash/rte_cuc
heck during
iteration test.
4. test: Add new commit to fix read-write test non-consecutive core issue.
4. hash: Add a new commit to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multiple
places.
Signed-off-by: Yipeng Wang
Yi
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_perf.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
index 33dcb9f..fe11632 100644
--- a/test/test/test_hash_perf.c
+++ b/test/test/test_h
the multi-reader and multi-writer rte_hash unit test does not
work correctly with non-consecutive core ids. This commit
fixes the issue.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Tested-by: Bruce Richardson
Edit the printf information when error happens to be more
accurate and informative.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_perf.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/test/test_hash_perf.c b/test/test
Since the depth-first search of cuckoo path is removed, we do not
need the macro anymore which specifies the depth of the cuckoo
search.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
lib/l
The test_hash_readwrite.c was not in the meson.build file. This
commit adds the missing test into the file.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/meson.build | 1
or readwrite test.
Revised the commit message for the last commit.
Yipeng Wang (5):
test/hash: fix bucket size in hash perf test
test/hash: more accurate hash perf test output
test/hash: fix rw test with non-consecutive cores
test/hash: fix missing file in meson build file
hash: fix unuse
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
---
test/test/test_hash.c | 151 +++--
test/test/test_hash_perf.c | 114 +-
2 files
may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 367 --
lib/librte_hash/rte_cuckoo_hash.h | 5 +
lib/librte_hash/rte_hash.h| 3 +
3 files changed, 324
mmit to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multiple
places.
Signed-off-by: Yipeng Wang
Yipeng Wang (3):
hash: add extendable bucket feature
test/hash: implement extendable bucket hash test
hash: use partia
Since the depth-first search of cuckoo path is removed, we do not
need the macro anymore which specifies the depth of the cuckoo
search.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
lib/l
The test_hash_readwrite.c was not in the meson.build file. This
commit adds the missing test into the file.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
test/test/meson.build | 1 +
1 file changed, 1
Edit the printf information when error happens to be more
accurate and informative.
Signed-off-by: Yipeng Wang
Acked-by: Bruce Richardson
---
test/test/test_hash_perf.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/test/test_hash_perf.c b/test/test
the multi-reader and multi-writer rte_hash unit test does not
work correctly with non-consicutive core ids. This commit
fixes the issue.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Tested-by: Bruce Richardson
from rte_hash and hash
unit test.
Yipeng Wang (5):
test/hash: fix bucket size in hash perf test
test/hash: more accurate hash perf test output
test/hash: fix rw test with non-consecutive cores
test/hash: fix missing file in meson build file
hash: fix unused define
lib/librte
Signed-off-by: Yipeng Wang
---
test/test/test_hash_perf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
index 33dcb9f..9ed7125 100644
--- a/test/test/test_hash_perf.c
+++ b/test/test/test_hash_perf.c
@@ -20,7 +20,7 @
may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 326 +-
lib/librte_hash/rte_cuckoo_hash.h | 5 +
lib/librte_hash/rte_hash.h| 3 +
3 files changed, 292
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
the multi-reader and multi-writer rte_hash unit test does not
work correctly with non-consicutive core ids. This commit
fixes the issue.
Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
test/test/test_hash_r
The bucket size was changed from 4 to 8 but the corresponding
perf test was not changed accordingly.
Fixes: 58017c98ed53 ("hash: add vectorized comparison")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
test/test/test_hash_perf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletio
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
---
test/test/test_hash.c | 151 +++--
test/test/test_hash_perf.c | 114 +-
2 files
Since the depth-first search of cuckoo path is removed, we do not
need the macro anymore which specifies the depth of the cuckoo
search.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.h
Edit the printf information when error happens to be more
accurate and informative.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_perf.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
index 9ed7125
commit to remove unnecessary code introduced by previous
patches.
5. hash: Comments improvement and coding style improvements over multiple
places.
Signed-off-by: Yipeng Wang
Yipeng Wang (7):
test/hash: fix bucket size in hash perf test
test/hash: more accurate hash perf test output
tes
Edit the printf information when error happens to be more
accurate and informative.
Signed-off-by: Yipeng Wang
---
test/test/test_hash_perf.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
index 9ed7125
uot;xor" to
derive alternative bucket from current bucket index and
signature.
With "partial-key hashing", it reduces the bucket memory
requirement from two cache lines to one cache line, which
improves the memory efficiency and thus the lookup speed.
Signed-off-by: Yipeng Wang
may have longer
look up time, they should be rare due to the cuckoo
algorithm.
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_cuckoo_hash.c | 331 +-
lib/librte_hash/rte_cuckoo_hash.h | 5 +
lib/librte_hash/rte_hash.h| 3 +
3 files changed, 298
The bucket size was changed from 4 to 8 but the corresponding
perf test was not changed accordingly.
Fixes: 58017c98ed53 ("hash: add vectorized comparison")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
---
test/test/test_hash_perf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletio
x by XORing the signature with the current bucket index.
This doubles the hash table memory efficiency since now one bucket
only occupies one cache line instead of two in the original design.
Signed-off-by: Yipeng Wang
Yipeng Wang (5):
test: fix bucket size in hash table perf test
test: more accu
This commit changes the current rte_hash unit test to
test the extendable table feature and performance.
Signed-off-by: Yipeng Wang
---
test/test/test_hash.c | 145 +++--
test/test/test_hash_perf.c | 114 +--
2 files
Added multithreading related description into programmer
guide of hash library.
Signed-off-by: Yipeng Wang
---
doc/guides/prog_guide/hash_lib.rst | 29 ++---
1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/doc/guides/prog_guide/hash_lib.rst
b/doc/guides
Describing the thread-safety support more accurately for
API documentation.
Fixes: f2e3001b53ec ("hash: support read/write concurrency")
Signed-off-by: Yipeng Wang
---
lib/librte_hash/rte_hash.h | 52 ++
1 file changed, 39 insertions(+), 13
This commits add a new test case for testing read/write concurrency.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
test/test/Makefile | 1 +
test/test/test_hash_readwrite.c | 637
2 files changed, 638 insertions(+)
create mode
Add a new function, rte_hash_count, to return the number of keys that
are currently stored in the hash table. Corresponding test functions are
added into hash_test and hash_multiwriter test.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash.c| 24
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash.c | 16 +++-
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/librte_hash/rte_cuckoo_hash.c
b/lib/librte_hash/rte_cuckoo_hash.c
index 80dcf41..11602af 100644
--- a/lib/l
x86 specific header file is removed since the x86 specific RTM
function is not called directly by rte hash now.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/meson.build | 1 -
lib/librte_hash/rte_cuckoo_hash.c | 520 ++
lib
This commit refactors the hash table lookup/add/del code
to remove some code duplication. Processing on primary bucket can
also apply to secondary bucket with same code.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash.c | 182
New code is added to support read-write concurrency for
rte_hash. Due to the newly added code in critial path,
the perf test is modified to show any performance impact.
It is still a single-thread test.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
test/test/test_hash_perf.c | 36
TSX region. Current code does not verify.
Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash_x86.h | 3 +++
1 file changed, 3 insertions(+)
diff -
When malloc for multiwriter_lock, the align should be
RTE_CACHE_LINE_SIZE rather than LCORE_CACHE_SIZE.
Also there should be check to verify the success of
rte_malloc.
Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")
Cc: sta...@dpdk.org
Signed-off-by: Y
th thread count that larger than physical core count.
7. Other minor fixes such as typos (Pablo).
Yipeng Wang (8):
hash: fix multiwriter lock memory allocation
hash: fix a multi-writer race condition
hash: fix key slot size accuracy
hash: make duplicated code into functions
hash: add read and
Add a new function, rte_hash_count, to return the number of keys that
are currently stored in the hash table. Corresponding test functions are
added into hash_test and hash_multiwriter test.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash.c| 24
x86 specific header file is removed since the x86 specific RTM
function is not called directly by rte hash now.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/meson.build | 1 -
lib/librte_hash/rte_cuckoo_hash.c | 520 ++
lib
This commits add a new test case for testing read/write concurrency.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
test/test/Makefile | 1 +
test/test/test_hash_readwrite.c | 637
2 files changed, 638 insertions(+)
create mode
TSX region. Current code does not verify.
Fixes: be856325cba3 ("hash: add scalable multi-writer insertion with Intel TSX")
Cc: sta...@dpdk.org
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash_x86.h | 3 +++
1 file changed, 3 insertions(+)
diff -
This commit refactors the hash table lookup/add/del code
to remove some code duplication. Processing on primary bucket can
also apply to secondary bucket with same code.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
lib/librte_hash/rte_cuckoo_hash.c | 182
New code is added to support read-write concurrency for
rte_hash. Due to the newly added code in critial path,
the perf test is modified to show any performance impact.
It is still a single-thread test.
Signed-off-by: Yipeng Wang
Acked-by: Pablo de Lara
---
test/test/test_hash_perf.c | 36
1 - 100 of 166 matches
Mail list logo