>-----Original Message-----
>From: Stephen Hemminger [mailto:step...@networkplumber.org]
>On Fri, 28 Sep 2018 10:23:44 -0700
>Yipeng Wang <yipeng1.w...@intel.com> wrote:
>
>> +    /* 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();
>
>Pause is much to short. Maybe nanosleep or sched_yield()?

Hmm.. As a second thought, maybe we don't need any pause/sleep here?

It is not a waiting loop and in multithreading case it is in the writer lock so 
this thread
Should be the only thread operating this data structure.

What do you think?

BTW Honnappa, in the lock free implementation, is hash_reset protected? We 
should
indicate in the API doc which API is supposed to be protected by user.

Thanks
Yipeng

Reply via email to