DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Cc: <honnappa.nagarahalli@arm.com>, <anatoly.burakov@intel.com>,
	<jerinj@marvell.com>, <radu.nicolau@intel.com>,
	<gakhil@marvell.com>, <cristian.dumitrescu@intel.com>,
	<ferruh.yigit@amd.com>, <konstantin.ananyev@huawei.com>,
	<dev@dpdk.org>
Subject: Re: [PATCH v2] test/ring_perf: add optional cross L3 core selection
Date: Mon, 20 Oct 2025 09:57:18 +0100	[thread overview]
Message-ID: <aPX5bkbE-V43O_Tq@bricha3-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <20251018064831.1153059-1-sivaprasad.tummala@amd.com>

On Sat, Oct 18, 2025 at 06:48:27AM +0000, Sivaprasad Tummala wrote:
> Enhances test_ring_perf to optionally select two cores on
> the same socket but on different L3 caches using hwloc.
> 
> This allows performance characterization of ring library
> on processors with split L3 cache architectures, providing
> more realistic measurements of inter-core communication
> and cache effects.
> 
> The feature is conditional on hwloc being present, ensuring
> builds succeed on systems without hwloc.
> 
> Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
> 
> v2:
> * Localized hwloc dependency to test app only.
> * Optimized get_two_l3caches() by moving socket and L3 cache ID
>   retrieval to the outer loop.
> ---
>  app/meson.build           |  8 ++++-
>  app/test/test_ring_perf.c | 76 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 83 insertions(+), 1 deletion(-)
> 
> diff --git a/app/meson.build b/app/meson.build
> index 1798db3ae4..5443043f0c 100644
> --- a/app/meson.build
> +++ b/app/meson.build
> @@ -46,6 +46,12 @@ if get_option('default_library') == 'static' and not is_windows
>      default_ldflags += ['-Wl,--export-dynamic']
>  endif
>  
> +hwloc_dep = dependency('hwloc', required : false)
> +if hwloc_dep.found()
> +  default_cflags += ['-DHAVE_HWLOC=1']
> +  message('hwloc found — enabling L3 cache–aware topology support')
> +endif
> +
>  foreach app:apps
>      name = app
>      build = true
> @@ -60,7 +66,7 @@ foreach app:apps
>  
>      # use "deps" for internal DPDK dependencies, and "ext_deps" for
>      # external package/library requirements
> -    ext_deps = []
> +    ext_deps = [hwloc_dep]
>      deps = []
>  
>      if not enable_apps.contains(app)

I still think we can limit this more. No need, for example, for test-pmd or
test-cmdline, for that matter, to depend on hwloc. Therefore, I'd suggest
moving the dependency code to app/test/meson.build and adding it there.

/Bruce


      reply	other threads:[~2025-10-20  8:57 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <https://patches.dpdk.org/project/dpdk/patch/20251017163407.845502-1-sivaprasad.tummala@amd.com>
2025-10-18  6:48 ` Sivaprasad Tummala
2025-10-20  8:57   ` Bruce Richardson [this message]

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=aPX5bkbE-V43O_Tq@bricha3-mobl1.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=gakhil@marvell.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=jerinj@marvell.com \
    --cc=konstantin.ananyev@huawei.com \
    --cc=radu.nicolau@intel.com \
    --cc=sivaprasad.tummala@amd.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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).