All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kefu Chai <tchaikov@gmail.com>
To: dev@dpdk.org
Cc: Kefu Chai <tchaikov@gmail.com>,
	Bruce Richardson <bruce.richardson@intel.com>
Subject: [dpdk-dev] [PATCH v2] build: add meson option of "max_memseg_lists" and "mbuf_refcnt_atomic"
Date: Thu,  2 Sep 2021 23:05:17 +0800	[thread overview]
Message-ID: <20210902150517.121558-1-tchaikov@gmail.com> (raw)
In-Reply-To: <20210902144805.105098-1-tchaikov@gmail.com>

RTE_MAX_MEMSEG_LISTS = 128 is not enough for high-memory machines, so add an
option so user can override it.
RTE_MBUF_REFCNT_ATOMIC = 0 is not necessary for applications like Seastar,
where it's safe to assume that the mbuf refcnt is only updated by a single
core only.

---
v2:
   revise the commit message.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
---
 config/meson.build  | 5 ++++-
 config/rte_config.h | 2 --
 meson_options.txt   | 5 +++++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/config/meson.build b/config/meson.build
index 3b5966ec2f..72dd461198 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -301,7 +301,10 @@ if dpdk_conf.get('RTE_ARCH_64')
 else # for 32-bit we need smaller reserved memory areas
     dpdk_conf.set('RTE_MAX_MEM_MB', 2048)
 endif
-
+dpdk_conf.set('RTE_MAX_MEMSEG_LISTS', get_option('max_memseg_lists'))
+if get_option('mbuf_refcnt_atomic')
+  dpdk_conf.set('RTE_MBUF_REFCNT_ATOMIC', true)
+endif
 
 compile_time_cpuflags = []
 subdir(arch_subdir)
diff --git a/config/rte_config.h b/config/rte_config.h
index 590903c07d..0a659f5e1a 100644
--- a/config/rte_config.h
+++ b/config/rte_config.h
@@ -29,7 +29,6 @@
 
 /* EAL defines */
 #define RTE_MAX_HEAPS 32
-#define RTE_MAX_MEMSEG_LISTS 128
 #define RTE_MAX_MEMSEG_PER_LIST 8192
 #define RTE_MAX_MEM_MB_PER_LIST 32768
 #define RTE_MAX_MEMSEG_PER_TYPE 32768
@@ -50,7 +49,6 @@
 
 /* mbuf defines */
 #define RTE_MBUF_DEFAULT_MEMPOOL_OPS "ring_mp_mc"
-#define RTE_MBUF_REFCNT_ATOMIC 1
 #define RTE_PKTMBUF_HEADROOM 128
 
 /* ether defines */
diff --git a/meson_options.txt b/meson_options.txt
index 0e92734c49..c0e8958797 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -38,6 +38,11 @@ option('max_lcores', type: 'integer', value: 128, description:
        'maximum number of cores/threads supported by EAL')
 option('max_numa_nodes', type: 'integer', value: 32, description:
        'maximum number of NUMA nodes supported by EAL')
+option('max_memseg_lists', type: 'integer', value: 128, description:
+       'maximum number of dynamic arrays holding memsegs')
+option('mbuf_refcnt_atomic', type: 'boolean', value: true, description:
+       'atomically access the mbuf refcnt')
+
 option('platform', type: 'string', value: 'native', description:
        'Platform to build, either "native", "generic" or a SoC. Please refer to the Linux build guide for more information.')
 option('enable_trace_fp', type: 'boolean', value: false, description:
-- 
2.33.0


  parent reply	other threads:[~2021-09-03  6:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-02 14:48 [dpdk-dev] [PATCH] build: add meson option of "max_memseg_lists" and "mbuf_refcnt_atomic" Kefu Chai
2021-09-02 15:02 ` Bruce Richardson
2021-09-02 15:05 ` Kefu Chai [this message]
2021-09-02 15:11 ` [dpdk-dev] [PATCH v3] build: add meson options of max_memseg_lists and atomic_mbuf_ref_counts Kefu Chai
2021-09-08 16:51   ` [dpdk-dev] [PATCH v4] " Kefu Chai
2021-09-20  7:51     ` kefu chai
2021-09-20  8:08       ` Bruce Richardson
2021-09-27 15:03         ` kefu chai
2021-10-13 15:38           ` Thomas Monjalon
2021-10-13 20:54 ` [dpdk-dev] [PATCH v5 0/2] build: add meson option of "max_memseg_lists" and "mbuf_refcnt_atomic" Kefu Chai
2021-10-13 20:54 ` [dpdk-dev] [PATCH v5 1/2] build: add meson options of atomic_mbuf_ref_counts Kefu Chai
2021-10-14  8:20   ` Bruce Richardson
2021-10-25 15:55     ` Thomas Monjalon
2021-10-13 20:54 ` [dpdk-dev] [PATCH v5 2/2] build: add meson options of max_memseg_lists Kefu Chai
2021-10-14  8:25   ` Bruce Richardson
2021-10-14  8:29     ` 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=20210902150517.121558-1-tchaikov@gmail.com \
    --to=tchaikov@gmail.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.