On Wed, Oct 24, 2018 at 11:09:28AM -0700, Yipeng Wang wrote: > 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 <yipeng1.w...@intel.com> > --- > test/test/test_hash_multiwriter.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/test/test/test_hash_multiwriter.c > b/test/test/test_hash_multiwriter.c > index 6a3eb10..456bc5f 100644 > --- a/test/test/test_hash_multiwriter.c > +++ b/test/test/test_hash_multiwriter.c > @@ -12,6 +12,7 @@ > #include <rte_malloc.h> > #include <rte_random.h> > #include <rte_spinlock.h> > +#include <rte_jhash.h> > > #include "test.h" > > @@ -31,6 +32,9 @@ > > #define RTE_APP_TEST_HASH_MULTIWRITER_FAILED 0 > > +/* Use jhash or crc hash */ > +#define USE_JHASH 1 > + > struct { > uint32_t *keys; > uint32_t *found; > @@ -108,10 +112,14 @@ test_hash_multiwriter(void) > struct rte_hash_parameters hash_params = { > .entries = nb_entries, > .key_len = sizeof(uint32_t), > - .hash_func = rte_hash_crc, > .hash_func_init_val = 0, > .socket_id = rte_socket_id(), > }; > + if (USE_JHASH) > + hash_params.hash_func = rte_jhash; > + else > + hash_params.hash_func = rte_hash_crc; > + > if (use_htm) > hash_params.extra_flag = > RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT > -- As I commented on v1, rather than having a macro at the top hard-coded to jhash, why not just do a straight replacement of crc to jhash in the structure definition. Since changing the hash function will involve editing the source code anyway, I see little point in using the macro at the top - especially since there is no indication to the user what effect removing it or changing it to zero has.
/Bruce