DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Stephen Hemminger" <stephen@networkplumber.org>,
	"Andrew Rybchenko" <andrew.rybchenko@oktetlabs.ru>,
	<dev@dpdk.org>
Subject: RE: [PATCH 5/7] app/test/mempool_perf: scale down for high core counts
Date: Mon, 1 Jun 2026 14:58:43 +0200	[thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35F658CA@smartserver.smartshare.dk> (raw)
In-Reply-To: <20260529171417.526892-6-stephen@networkplumber.org>

> From: Stephen Hemminger [mailto:stephen@networkplumber.org]
> Sent: Friday, 29 May 2026 19.11
> 
> On a 32-core system the test matrix runs the cartesian product of
> 4 mempools, 3 core-count configurations and ~340 (n_keep, bulk)
> points at TIME_S=1 second each: about 67 minutes total, well past
> the 10 minute perf-test timeout.
> 
> Two reductions, no loss of meaningful signal:
> 
> 1. Per-point duration: 1 second -> 200 ms.  Each point currently
>    collects 10^5-10^6 mempool ops; 200 ms still yields >10^4
>    samples, well above the noise floor for a cycles-per-op average.

Ack to this.

> 
> 2. Matrix trim: drop adjacent bulk and n_keep points that don't
>    produce regime changes.  Retained set covers the boundaries
>    that matter: 1, 4, cache-line burst (8), typical packet burst
>    (32) and cache size (RTE_MEMPOOL_CACHE_MAX_SIZE = 512) for bulk;
>    32 (fits in cache), 512 (= cache size) and 32768 (far exceeds
>    cache) for n_keep.

My mempool optimization patch [1] introduces a bounce buffer limit, so huge requests are not needlessly copied twice to bounce through the cache, but are moved directly between application memory and the mempool backend driver.
The bounce buffer limit is half the cache size.
So, please keep 256. Maybe change it to RTE_MEMPOOL_CACHE_MAX_SIZE / 2.

[1]: https://patchwork.dpdk.org/project/dpdk/patch/20260526140000.175092-1-mb@smartsharesystems.com/

Also consider keeping 64; it seems to be a popular default burst size for some CPUs.
On the other hand, if the patch introducing default mbuf burst sizes [2] gets accepted, we could replace 32 with RTE_MBUF_BURST_SIZE_THROUGHPUT and 4 with RTE_MBUF_BURST_SIZE_LATENCY.
No strong opinion on 64; I'll leave that up to you.

[2]: https://patchwork.dpdk.org/project/dpdk/list/?series=37914

> 
> Combined effect: ~10x runtime reduction.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>

With suggested changes,
Acked-by: Morten Brørup <mb@smartsharesystems.com>


  parent reply	other threads:[~2026-06-01 12:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-29 17:10 [PATCH 0/7] app/test: make perf tests usable on wider range of systems Stephen Hemminger
2026-05-29 17:10 ` [PATCH 1/7] app/test/reciprocal_division: make it a fast test Stephen Hemminger
2026-05-29 17:10 ` [PATCH 2/7] app/test/reciprocal_division_perf: reduce test time Stephen Hemminger
2026-05-29 17:10 ` [PATCH 3/7] app/test/mempool_perf: size mempool by tested cores Stephen Hemminger
2026-06-01  8:12   ` Andrew Rybchenko
2026-06-01 12:22     ` Morten Brørup
2026-05-29 17:10 ` [PATCH 4/7] app/test/mempool_perf: drop constant-values replay Stephen Hemminger
2026-06-01  8:34   ` Andrew Rybchenko
2026-06-01 13:22     ` Morten Brørup
2026-05-29 17:10 ` [PATCH 5/7] app/test/mempool_perf: scale down for high core counts Stephen Hemminger
2026-06-01  8:42   ` Andrew Rybchenko
2026-06-01 12:58   ` Morten Brørup [this message]
2026-05-29 17:10 ` [PATCH 6/7] app/test/test_rcu_qsbr_perf: call quiescent more often Stephen Hemminger
2026-05-29 17:11 ` [PATCH 7/7] app/test/test_pmd_perf: skip if no device available Stephen Hemminger

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=98CBD80474FA8B44BF855DF32C47DC35F658CA@smartserver.smartshare.dk \
    --to=mb@smartsharesystems.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=dev@dpdk.org \
    --cc=stephen@networkplumber.org \
    /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