Hi Robin,

> >> * Removed the rte_hash_replace_key_data() API
> >
> > That's a pity - I think it is a useful one.
> >
> >> which required to bubble
> >>   a potential old_data pointer from search_and_update() to all
> >>   intermediate callers down to __rte_hash_add_key_with_hash(). It made
> >>   an already complex code even more obscure.
> 
> I can send it back but it will make the code complex since I cannot free
> the pointer in the callers. I need to pass it down the call chain to
> make the free-or-return-old-data decision.

> Let me know what you prefer.
 
My thoughts are:
I think what we have now inside rte_hash - Is a bug that needs to be fixed.
So your v3 patch looks good to me: it fixes the memory leak.
That's why I ack-ed it - I think patch is good to go as it is.

From other hand - rte_hash_replace_key_data() - is a 'nice to have' feature, 
At it is kind of a new API, I think if we decide to go ahead with it - it can 
be done as a new patch series.
If you have time to work on it - please go ahead, I'll be happy to review the 
patch.
Also CC-ing to hash lib maintainers - lads what is your opinion on that subject?

Konstantin
 

Reply via email to