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 D3AEC45952; Tue, 10 Sep 2024 08:41:23 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A13D84028B; Tue, 10 Sep 2024 08:41:23 +0200 (CEST) Received: from mail.lysator.liu.se (mail.lysator.liu.se [130.236.254.3]) by mails.dpdk.org (Postfix) with ESMTP id 1D1204021F for ; Tue, 10 Sep 2024 08:41:22 +0200 (CEST) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id 3725C1A6BB for ; Tue, 10 Sep 2024 08:41:21 +0200 (CEST) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id 2A3021A6B9; Tue, 10 Sep 2024 08:41:21 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on hermod.lysator.liu.se X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,AWL, T_SCC_BODY_TEXT_LINE autolearn=disabled version=4.0.0 X-Spam-Score: -1.2 Received: from [192.168.1.86] (h-62-63-215-114.A163.priv.bahnhof.se [62.63.215.114]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.lysator.liu.se (Postfix) with ESMTPSA id 8F7751A648; Tue, 10 Sep 2024 08:41:19 +0200 (CEST) Message-ID: <7a920372-63ce-4d98-adc0-05a5819f2c90@lysator.liu.se> Date: Tue, 10 Sep 2024 08:41:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC v6 0/6] Lcore variables To: =?UTF-8?Q?Morten_Br=C3=B8rup?= , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= , dev@dpdk.org Cc: Stephen Hemminger , Konstantin Ananyev References: <20240228100928.524277-2-mattias.ronnblom@ericsson.com> <20240506082721.120666-1-mattias.ronnblom@ericsson.com> <98CBD80474FA8B44BF855DF32C47DC35E9F690@smartserver.smartshare.dk> Content-Language: en-US From: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35E9F690@smartserver.smartshare.dk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV using ClamSMTP 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 On 2024-09-02 16:42, Morten Brørup wrote: >> From: Mattias Rönnblom [mailto:mattias.ronnblom@ericsson.com] >> Sent: Monday, 6 May 2024 10.27 >> >> This RFC presents 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. > > This RFC is an improvement of the design pattern of allocating a RTE_MAX_LCORE sized array of structs per library, which typically introduces a lot of padding, and thus wastes L1 data cache. > > I would like to see it as a patch getting into DPDK 24.11. > I would be happy to develop and maintain this DPDK module. I will submit this as a v1 PATCH. >> >> One thing is unclear to the author is how this API relates to a >> potential future per-lcore dynamic allocator (e.g., a per-lcore heap). > > Perfection is the enemy of progress. > Let's consider this a 1:1 upgrade of a existing design pattern, and not worry about how to broaden its scope in the future. > > -Morten >