From patchwork Thu Sep 2 14:48:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kefu Chai X-Patchwork-Id: 97865 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B424EA0C53; Fri, 3 Sep 2021 08:32:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 67DB740E01; Fri, 3 Sep 2021 08:32:51 +0200 (CEST) Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) by mails.dpdk.org (Postfix) with ESMTP id BCA924003C for ; Thu, 2 Sep 2021 16:48:21 +0200 (CEST) Received: by mail-pg1-f173.google.com with SMTP id s11so2195785pgr.11 for ; Thu, 02 Sep 2021 07:48:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3R98VBTS7FEIbpSOQijlU1CN3tEmPxwjnl2jCe11pyo=; b=CQLNM+mH8ehaxoUBb5tFxq2AEnL0lcQNooYKgAncFMUejc2FGcys/gfmjvNDmCcovH c87f6QbshmW5RjBiWImRV27Vk4kzu49tdkdG/yRan5if/m4gLg/N9AhdUlHkQfDColK/ KJH/OUCiGumrNc7+iyhBHToU17NReuF6w4r5IC2X1563tn5akv3lwfotxxCu2bcjTwqk 74h+Kx3v0eSl150xn/A9Ab/08fKBcK5l9jloLrpoHJt7bWU9iFSrj2cY9t+jPcvX3XfA aE5G77CJTTvyvZPLgLMcoR0XBw0lv/cvCwbHhKNNbxO5+jYYYv7AkYwnQmAJbgdCux8z V71A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=3R98VBTS7FEIbpSOQijlU1CN3tEmPxwjnl2jCe11pyo=; b=qPHj67luE0CrXyy/zjKP4PUXGnjzu5xqipS1CfI8KMCjVTyzzC/6zxCx4YeD33bl9G Au6M09cLhTYwH9yZbONI6ZxZ6kjPNCF0+T4mUdTm1VqBH39CERwGhNJaxgzATBQ6b7No jLkF/its2hxT1Rq4V+d2dJnN+ZJOwSjlpw0lOdf4eagkVfSm/+IzmGYQrVjm883p3Ute JKMH5GxA3C8DuKt4il5zXM1426yXaxsn0ARIxPwVVU6wKjF6FglMEGQAM13dN1pV7rjI /vV9/Xs7xJ7OM+W7DJATc+aU4TvIVE0EhqUGF2kj/kqPB08wKsDCPoRGLziQWocld9lA 8F/g== X-Gm-Message-State: AOAM532YAx3vZU/1KmtsEw5qMD91LXgqMXtB8zMYjeUtmelj5v93TlV2 O5fq6vbNTEFfxgn+qkdUPqzC4nmfaUCbXA== X-Google-Smtp-Source: ABdhPJzhsU+ElgVztV9gDHQnvln6WAoLSDCvGhQbxYLbnSQbeI90SXCaMI+ohcXpJHXwP9qf4V672Q== X-Received: by 2002:a65:6283:: with SMTP id f3mr3569183pgv.369.1630594100614; Thu, 02 Sep 2021 07:48:20 -0700 (PDT) Received: from localhost.localdomain (74.120.174.58.16clouds.com. [74.120.174.58]) by smtp.gmail.com with ESMTPSA id o10sm2882182pgp.68.2021.09.02.07.48.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Sep 2021 07:48:20 -0700 (PDT) From: Kefu Chai To: dev@dpdk.org Cc: Kefu Chai , Bruce Richardson Date: Thu, 2 Sep 2021 22:48:05 +0800 Message-Id: <20210902144805.105098-1-tchaikov@gmail.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-Mailman-Approved-At: Fri, 03 Sep 2021 08:32:48 +0200 Subject: [dpdk-dev] [PATCH] build: add meson option of "max_memseg_lists" and "mbuf_refcnt_atomic" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" RTE_MAX_MEMSEG_LISTS = 128 is not enough for some use cases, so add an option so user can override it. RTE_MBUF_REFCNT_ATOMIC = 0 is enough for applications like Seastar, where it's safe to assume that the mbuf refcnt is only updated by a single core only. Signed-off-by: Kefu Chai --- 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: