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.