DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Bruce Richardson" <bruce.richardson@intel.com>
Cc: <dev@dpdk.org>, <ferruh.yigit@amd.com>, <thomas@monjalon.net>
Subject: RE: [RFC PATCH] config: make queues per port a meson config option
Date: Mon, 12 Aug 2024 17:02:11 +0200	[thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F620@smartserver.smartshare.dk> (raw)
In-Reply-To: <ZroZrLQ7Hkfs020T@bricha3-mobl1.ger.corp.intel.com>

> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> 
> On Mon, Aug 12, 2024 at 04:10:49PM +0200, Morten Brørup wrote:
> > > From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> > >
> > > The default number of ethernet queues per port is currently set to
> > > 1k which is more than enough for most applications, but still is lower
> > > than the total number of queues which may be available on modern NICs.
> > > Rather than increasing the max queues further, which will increase
> > > the memory footprint (since the value is used in array dimensioning),
> > > we can instead make the value a meson tunable option - and reduce the
> > > default value to 256 in the process.
> >
> > Overall, I agree that this tunable is not very exotic, and can be exposed as
> suggested.
> > The reduction of the default value must be mentioned in the release notes.
> >
> 
> Yes, good point. I'll add that in any next version.

ACK.

> 
> >
> > >  # set other values pulled from the build options
> > >  dpdk_conf.set('RTE_MAX_ETHPORTS', get_option('max_ethports'))
> > > +dpdk_conf.set('RTE_MAX_QUEUES_PER_PORT',
> > > get_option('max_queues_per_ethport'))
> >
> > Please rename RTE_MAX_QUEUES_PER_PORT to _PER_ETHPORT, so it resembles
> MAX_ETHPORTS. For API backwards compatibility, you can add:
> > #define RTE_MAX_QUEUES_PER_PORT RTE_MAX_QUEUES_PER_ETHPORT
> >
> 
> Agree that would more consistent. That would probably best be a separate
> patch, since we'd want to convert all internal use over. Will make this a
> two-patch set in next version.

ACK. And agree about two-patch series.

> 
> >
> > I wonder if it would be possible to have separate max sizes for RX and TX
> queues? If it can save a non-negligible amount of memory, it might be useful
> for some applications.
> >
> 
> That is an interesting idea. It would certainly allow saving memory for
> use-cases where you want a large number of rx queues only, or tx queues
> only. However, the defaults are still likely to remain the same. The main
> issue I would have with it, is that it would mean having two build time
> options rather than 1, and I'm a bit concerned at the number of options we
> seem to be accumulating in DPDK.
> 
> Overall, I'm tending towards suggesting that we not do that split, but I'm
> open to being convinced on it.

I would guess that many applications have an asymmetrical split of number of RX/TX queues. So I would argue that:
The reason to make this configurable in meson is to conserve memory, so why only go half the way if there is more memory to be conserved?

The distros will use oversize maximums anyway, but custom built applications might benefit.

Here's a weird thought:
Perhaps RX and TX maximums can be controlled individually by changing rte_config.h, and they can be overridden via one meson configuration parameter to set both (to the same value).

> 
> >
> > With suggested changes (splitting RX/TX maximums not required),
> > Acked-by: Morten Brørup <mb@smartsharesystems.com>
> >

My ACK remains; splitting RX/TX maximums is not Must Have, it is Nice To Have.


  reply	other threads:[~2024-08-12 15:02 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12 13:29 Bruce Richardson
2024-08-12 14:10 ` Morten Brørup
2024-08-12 14:18   ` Bruce Richardson
2024-08-12 15:02     ` Morten Brørup [this message]
2024-08-12 15:09       ` Bruce Richardson
2024-08-13 15:59 ` [RFC PATCH v2 00/26] add meson config options for queues per port Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 01/26] cryptodev: remove use of ethdev max queues definition Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 02/26] eventdev: remove use of ethev queues define Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 03/26] app/test-bbdev: remove use of ethdev queue count value Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 04/26] config: add separate defines for max Rx and Tx queues Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 05/26] ethdev: use separate Rx and Tx queue limits Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 06/26] bpf: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 07/26] latencystats: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 08/26] pdump: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 09/26] power: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 10/26] net/af_xdp: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 11/26] net/cnxk: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 12/26] net/failsafe: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 13/26] net/hns3: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 14/26] net/mlx5: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 15/26] net/null: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 16/26] net/sfc: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 17/26] net/thunderx: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 18/26] net/vhost: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 19/26] app/dumpcap: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 20/26] app/test-pmd: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 21/26] examples/ipsec-secgw: " Bruce Richardson
2024-08-13 15:59   ` [RFC PATCH v2 22/26] examples/l3fwd-power: " Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 23/26] examples/l3fwd: " Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 24/26] examples/vhost: " Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 25/26] config: make queues per port a meson config option Bruce Richardson
2024-08-13 16:00   ` [RFC PATCH v2 26/26] config: add computed max queues define for compatibility Bruce Richardson
2024-08-14 15:01     ` Stephen Hemminger
2024-08-14 15:12       ` Bruce Richardson
2024-08-14  7:43   ` [RFC PATCH v2 00/26] add meson config options for queues per port Morten Brørup
2024-08-14  7:48   ` Morten Brørup
2024-08-14  7:51     ` Bruce Richardson
2024-08-14 10:49 ` [PATCH v3 " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 01/26] cryptodev: remove use of ethdev max queues definition Bruce Richardson
2024-09-19 13:16     ` David Marchand
2024-08-14 10:49   ` [PATCH v3 02/26] eventdev: remove use of ethev queues define Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 03/26] app/test-bbdev: remove use of ethdev queue count value Bruce Richardson
2024-09-19 13:36     ` David Marchand
2024-08-14 10:49   ` [PATCH v3 04/26] config: add separate defines for max Rx and Tx queues Bruce Richardson
2024-09-10  2:54     ` fengchengwen
2024-10-10 16:27       ` Stephen Hemminger
2024-10-10 16:32         ` Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 05/26] ethdev: use separate Rx and Tx queue limits Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 06/26] bpf: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 07/26] latencystats: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 08/26] pdump: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 09/26] power: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 10/26] net/af_xdp: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 11/26] net/cnxk: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 12/26] net/failsafe: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 13/26] net/hns3: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 14/26] net/mlx5: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 15/26] net/null: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 16/26] net/sfc: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 17/26] net/thunderx: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 18/26] net/vhost: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 19/26] app/dumpcap: " Bruce Richardson
2024-10-03 23:38     ` Stephen Hemminger
2024-08-14 10:49   ` [PATCH v3 20/26] app/test-pmd: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 21/26] examples/ipsec-secgw: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 22/26] examples/l3fwd-power: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 23/26] examples/l3fwd: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 24/26] examples/vhost: " Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 25/26] config: make queues per port a meson config option Bruce Richardson
2024-08-14 10:49   ` [PATCH v3 26/26] config: add computed max queues define for compatibility Bruce Richardson
2024-09-19 14:14   ` [PATCH v3 00/26] add meson config options for queues per port David Marchand
2024-09-19 15:08     ` Bruce Richardson

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=98CBD80474FA8B44BF855DF32C47DC35E9F620@smartserver.smartshare.dk \
    --to=mb@smartsharesystems.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.com \
    --cc=thomas@monjalon.net \
    /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).