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 7AC834596E; Thu, 12 Sep 2024 15:20:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 60B42427D3; Thu, 12 Sep 2024 15:20:28 +0200 (CEST) Received: from mail.lysator.liu.se (mail.lysator.liu.se [130.236.254.3]) by mails.dpdk.org (Postfix) with ESMTP id 0C9D642709 for ; Thu, 12 Sep 2024 15:20:27 +0200 (CEST) Received: from mail.lysator.liu.se (localhost [127.0.0.1]) by mail.lysator.liu.se (Postfix) with ESMTP id D03D44F76 for ; Thu, 12 Sep 2024 15:20:26 +0200 (CEST) Received: by mail.lysator.liu.se (Postfix, from userid 1004) id C405E5088; Thu, 12 Sep 2024 15:20:26 +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 ECA64501D; Thu, 12 Sep 2024 15:20:22 +0200 (CEST) Message-ID: <88a778d3-e157-41cd-9da7-2d06864a654d@lysator.liu.se> Date: Thu, 12 Sep 2024 15:20:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 3/7] eal: add lcore variable performance test To: Jerin Jacob , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Cc: dev@dpdk.org, =?UTF-8?Q?Morten_Br=C3=B8rup?= , Stephen Hemminger , Konstantin Ananyev , David Marchand , Jerin Jacob References: <20240911170430.701685-2-mattias.ronnblom@ericsson.com> <20240912084429.703405-1-mattias.ronnblom@ericsson.com> <20240912084429.703405-4-mattias.ronnblom@ericsson.com> Content-Language: en-US From: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= In-Reply-To: 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-12 15:09, Jerin Jacob wrote: > On Thu, Sep 12, 2024 at 2:34 PM Mattias Rönnblom > wrote: >> >> Add basic micro benchmark for lcore variables, in an attempt to assure >> that the overhead isn't significantly greater than alternative >> approaches, in scenarios where the benefits aren't expected to show up >> (i.e., when plenty of cache is available compared to the working set >> size of the per-lcore data). >> >> Signed-off-by: Mattias Rönnblom >> --- >> app/test/meson.build | 1 + >> app/test/test_lcore_var_perf.c | 160 +++++++++++++++++++++++++++++++++ >> 2 files changed, 161 insertions(+) >> create mode 100644 app/test/test_lcore_var_perf.c > > >> +static double >> +benchmark_access_method(void (*init_fun)(void), void (*update_fun)(void)) >> +{ >> + uint64_t i; >> + uint64_t start; >> + uint64_t end; >> + double latency; >> + >> + init_fun(); >> + >> + start = rte_get_timer_cycles(); >> + >> + for (i = 0; i < ITERATIONS; i++) >> + update_fun(); >> + >> + end = rte_get_timer_cycles(); > > Use precise variant. rte_rdtsc_precise() or so to be accurate With 1e7 iterations, do you need rte_rdtsc_precise()? I suspect not.