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 <yipeng1.w...@intel.com> Acked-by: Bruce Richardson <bruce.richard...@intel.com> --- lib/librte_hash/rte_cuckoo_hash.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/librte_hash/rte_cuckoo_hash.c b/lib/librte_hash/rte_cuckoo_hash.c index 0648a22..5ddcccd 100644 --- a/lib/librte_hash/rte_cuckoo_hash.c +++ b/lib/librte_hash/rte_cuckoo_hash.c @@ -27,7 +27,6 @@ #include <rte_spinlock.h> #include <rte_ring.h> #include <rte_compat.h> -#include <rte_pause.h> #include "rte_hash.h" #include "rte_cuckoo_hash.h" @@ -574,14 +573,14 @@ rte_hash_reset(struct rte_hash *h) /* clear the free ring */ while (rte_ring_dequeue(h->free_slots, &ptr) == 0) - rte_pause(); + continue; /* clear free extendable bucket ring and memory */ if (h->ext_table_support) { memset(h->buckets_ext, 0, h->num_buckets * sizeof(struct rte_hash_bucket)); while (rte_ring_dequeue(h->free_ext_bkts, &ptr) == 0) - rte_pause(); + continue; } /* Repopulate the free slots ring. Entry zero is reserved for key misses */ -- 2.7.4