12/11/2018 19:34, Honnappa Nagarahalli:
> > 
> > From: Yipeng Wang <yipeng1.w...@intel.com>
> > 
> > This patch adds back the local cache when TSX support is turned on.
> > 
> > When TSX is turned on, free key-data slot ring would be contended by various
> > TSX regions. The purpose of this commit is to reduce possible memory
> > collisions during key insertion.
> > 
> > Signed-off-by: Yipeng Wang <yipeng1.w...@intel.com>
> > Acked-by: Bruce Richardson <bruce.richard...@intel.com>
> > ---
> >  lib/librte_hash/rte_cuckoo_hash.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/lib/librte_hash/rte_cuckoo_hash.c
> > b/lib/librte_hash/rte_cuckoo_hash.c
> > index 76f5dc8..5d5f9f1 100644
> > --- a/lib/librte_hash/rte_cuckoo_hash.c
> > +++ b/lib/librte_hash/rte_cuckoo_hash.c
> > @@ -180,8 +180,10 @@ struct rte_hash *
> >     }
> > 
> >     /* Check extra flags field to check extra options. */
> > -   if (params->extra_flag &
> > RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT)
> > +   if (params->extra_flag &
> > RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT) {
> > +           use_local_cache = 1;
> Do you see the issue even in the case of single writer? Enabling this flag 
> creates local caches on all the data plane cores. This increases the memory 
> usage for the single writer use case. Then there is 'writers on the control 
> plane' use case, the requirement on hash_add rate is comparatively lower when 
> compared to 'writers on the data plane'. The writers also are not pinned to 
> any core as well. In this use case, I am not sure how much having a local 
> cache matters.
> 
> Enabling this flag effectively changes the free slot allocation from a ring 
> to a stack data structure. Does it indicate that for single writer use case 
> with TSX, the free slot (global) data structure should be a stack (rather 
> than a ring)?

Is it blocking this patchset from entering in 18.11?
If I understand well, there are some fixes for 18.11.


Reply via email to