From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8820E45936; Wed, 18 Sep 2024 11:30:20 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 705DF42F71; Wed, 18 Sep 2024 11:30:20 +0200 (CEST) Received: from szxga05-in.huawei.com (szxga05-in.huawei.com [45.249.212.191]) by mails.dpdk.org (Postfix) with ESMTP id 24A7842F0C for ; Wed, 18 Sep 2024 11:30:18 +0200 (CEST) Received: from mail.maildlp.com (unknown [172.19.88.234]) by szxga05-in.huawei.com (SkyGuard) with ESMTP id 4X7tZJ0M0Kz1HJs8; Wed, 18 Sep 2024 17:26:32 +0800 (CST) Received: from dggpeml500024.china.huawei.com (unknown [7.185.36.10]) by mail.maildlp.com (Postfix) with ESMTPS id CA7F714035F; Wed, 18 Sep 2024 17:30:14 +0800 (CST) Received: from [10.67.121.161] (10.67.121.161) by dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 18 Sep 2024 17:30:14 +0800 Message-ID: <66205fff-be7c-4b5c-a331-6d96fd4d3877@huawei.com> Date: Wed, 18 Sep 2024 17:30:14 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v7 0/7] Lcore variables To: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= , CC: , =?UTF-8?Q?Morten_Br=C3=B8rup?= , Stephen Hemminger , Konstantin Ananyev , David Marchand , Jerin Jacob References: <20240918080054.725164-2-mattias.ronnblom@ericsson.com> <20240918082614.725220-1-mattias.ronnblom@ericsson.com> Content-Language: en-US From: fengchengwen In-Reply-To: <20240918082614.725220-1-mattias.ronnblom@ericsson.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.67.121.161] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggpeml500024.china.huawei.com (7.185.36.10) 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 Series-acked-by: Chengwen Feng On 2024/9/18 16:26, Mattias Rönnblom wrote: > This patch set introduces a new API for static > per-lcore id data allocation. > > Please refer to the API documentation for both a > rationale for this new API, and a comparison to the alternatives > available. > > The adoption of this API would affect many different DPDK modules, but > the author updated only a few, mostly to serve as examples in this > RFC, and to iron out some, but surely not all, wrinkles in the API. > > The question on how to best allocate static per-lcore memory has been > up several times on the dev mailing list, for example in the thread on > "random: use per lcore state" RFC by Stephen Hemminger. > > Lcore variables are surely not the answer to all your per-lcore-data > needs, since it only allows for more-or-less static allocation. In the > author's opinion, it does however provide a reasonably simple and > clean and seemingly very much performant solution to a real problem. > > Mattias Rönnblom (7): > eal: add static per-lcore memory allocation facility > eal: add lcore variable functional tests > eal: add lcore variable performance test > random: keep PRNG state in lcore variable > power: keep per-lcore state in lcore variable > service: keep per-lcore state in lcore variable > eal: keep per-lcore power intrinsics state in lcore variable > > MAINTAINERS | 6 + > app/test/meson.build | 2 + > app/test/test_lcore_var.c | 436 ++++++++++++++++++ > app/test/test_lcore_var_perf.c | 257 +++++++++++ > config/rte_config.h | 1 + > doc/api/doxy-api-index.md | 1 + > .../prog_guide/env_abstraction_layer.rst | 45 +- > doc/guides/rel_notes/release_24_11.rst | 14 + > lib/eal/common/eal_common_lcore_var.c | 79 ++++ > lib/eal/common/meson.build | 1 + > lib/eal/common/rte_random.c | 28 +- > lib/eal/common/rte_service.c | 117 ++--- > lib/eal/include/meson.build | 1 + > lib/eal/include/rte_lcore_var.h | 390 ++++++++++++++++ > lib/eal/version.map | 2 + > lib/eal/x86/rte_power_intrinsics.c | 17 +- > lib/power/rte_power_pmd_mgmt.c | 35 +- > 17 files changed, 1339 insertions(+), 93 deletions(-) > create mode 100644 app/test/test_lcore_var.c > create mode 100644 app/test/test_lcore_var_perf.c > create mode 100644 lib/eal/common/eal_common_lcore_var.c > create mode 100644 lib/eal/include/rte_lcore_var.h >