DPDK patches and discussions
 help / color / mirror / Atom feed
From: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
To: Bruce Richardson <bruce.richardson@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "stable@dpdk.org" <stable@dpdk.org>,
	Yipeng Wang <yipeng1.wang@intel.com>,  nd <nd@arm.com>
Subject: Re: [dpdk-dev] [PATCH v2 2/4] hash: add local cache for TSX region
Date: Mon, 12 Nov 2018 18:34:08 +0000
Message-ID: <AM6PR08MB3672CAACB8B70FE5B25AA3D898C10@AM6PR08MB3672.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <20181112104719.62568-3-bruce.richardson@intel.com>

> 
> From: Yipeng Wang <yipeng1.wang@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.wang@intel.com>
> Acked-by: Bruce Richardson <bruce.richardson@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)?
 
>  		hw_trans_mem_support = 1;
> +	}
> 
>  	if (params->extra_flag &
> RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD) {
>  		use_local_cache = 1;
> --
> 1.8.5.6

  reply	other threads:[~2018-11-12 18:34 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-05 17:39 [dpdk-dev] [PATCH 0/4] fixes for rte_hash with TSX Bruce Richardson
2018-11-05 17:39 ` [dpdk-dev] [PATCH 1/4] hash: fix TSX aborts with newer gcc Bruce Richardson
2018-11-05 17:39 ` [dpdk-dev] [PATCH 2/4] hash: add local cache for TSX region Bruce Richardson
2018-11-09 15:59   ` Bruce Richardson
2018-11-05 17:39 ` [dpdk-dev] [PATCH 3/4] eal/x86: reduce contention when retrying TSX Bruce Richardson
2018-11-05 17:39 ` [dpdk-dev] [PATCH 4/4] test/test: improve output for hash read-write test Bruce Richardson
2018-11-12 10:47 ` [dpdk-dev] [PATCH v2 0/4] fixes for rte_hash with TSX Bruce Richardson
2018-11-12 10:47   ` [dpdk-dev] [PATCH v2 1/4] hash: fix TSX aborts with newer gcc Bruce Richardson
2018-11-12 10:47   ` [dpdk-dev] [PATCH v2 2/4] hash: add local cache for TSX region Bruce Richardson
2018-11-12 18:34     ` Honnappa Nagarahalli [this message]
2018-11-13 16:40       ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2018-11-13 17:16         ` Honnappa Nagarahalli
2018-11-13 17:24           ` Wang, Yipeng1
2018-11-13 17:48             ` Bruce Richardson
2018-11-12 10:47   ` [dpdk-dev] [PATCH v2 3/4] eal/x86: reduce contention when retrying TSX Bruce Richardson
2018-11-12 10:47   ` [dpdk-dev] [PATCH v2 4/4] test/test: improve output for hash read-write test Bruce Richardson
2018-11-14  0:06   ` [dpdk-dev] [PATCH v2 0/4] fixes for rte_hash with TSX Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=AM6PR08MB3672CAACB8B70FE5B25AA3D898C10@AM6PR08MB3672.eurprd08.prod.outlook.com \
    --to=honnappa.nagarahalli@arm.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=nd@arm.com \
    --cc=stable@dpdk.org \
    --cc=yipeng1.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git