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 455AE4235C; Wed, 11 Oct 2023 09:04:05 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 286F1402A2; Wed, 11 Oct 2023 09:04:05 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mails.dpdk.org (Postfix) with ESMTP id 135E14028A for ; Wed, 11 Oct 2023 09:04:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1697007843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HZRZP9/nBVDMmR3Y197uxBUUxltiZJRgXTeQ7BFQwaM=; b=H9LXX1D/FhaKyBev2/zJF8EjFSj9KLgx+5G8NSp2gvBbPe8ACM/qgjd4ez2VjcQJ5/ohaH ib/57fDdLSRUTquC6trHjkUTMS1JpBOVZFvgrEvk1X3FJdKkxB6SlcnQcghoqP/JylCbHg 9sSW5ABu+ycGtjGsPe+nu0yIh6I8sFE= Received: from mail-lf1-f71.google.com (mail-lf1-f71.google.com [209.85.167.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-694-Mh4E2qjhPOWn3SWNLLYAWQ-1; Wed, 11 Oct 2023 03:04:00 -0400 X-MC-Unique: Mh4E2qjhPOWn3SWNLLYAWQ-1 Received: by mail-lf1-f71.google.com with SMTP id 2adb3069b0e04-5043c463bf9so6097871e87.0 for ; Wed, 11 Oct 2023 00:04:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697007839; x=1697612639; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HZRZP9/nBVDMmR3Y197uxBUUxltiZJRgXTeQ7BFQwaM=; b=hPz9aJBEOe+6pKdYdo7k1BPsmNHg3ICD7RYcOZYwlrKQLfukgor4+DFX5wGXPUj7CE H9ewDYBlpM+fmAlCZWZOO/v/m2lTWTw6vvCWTuHBKtgofVs3Xexd+/lSIjf2IDy6X7Lz L/q/Xag8LBECkPmkmUlJ1vxTKrgU0GkrKu76zp9K/SUruUyYWidJrkD2MAZXcuAD27Cs thpVAORn4Gl92Dcdasfhyj+nev0CfOtb18HEzuFIu8xvuNo4DehaTfASIoY8+fadtFy9 L2mzLi1idksJuvtTTgWZt0IBHypYpNg0OeKaXrC6FCNsbbJlMlBGtyw0aVG63UbHDwUW L1wQ== X-Gm-Message-State: AOJu0YzKi+9RtNahKoJjVSwMow/EcgGyVskiOyg8WVKGIoVXwtJASUii u1x4sNPybpYwtnFqfrcuqdT4+mPkHRE+/zfXF4hVaWgBYvMGjUyYZTGk/ghKJ56CQozMC/QQ+0+ hxTeRcyw3NI77C29L2a8= X-Received: by 2002:a05:6512:ba6:b0:503:2877:67d3 with SMTP id b38-20020a0565120ba600b00503287767d3mr19743141lfv.67.1697007838774; Wed, 11 Oct 2023 00:03:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFGz3F0zsMNYD5KOZ0cqOss/QCoYCeJpgMab8GIZgr9EE6LbRAC2avtaIN6pezCYotjpBA5KMIfjhxSVjAXZXE= X-Received: by 2002:a05:6512:ba6:b0:503:2877:67d3 with SMTP id b38-20020a0565120ba600b00503287767d3mr19743117lfv.67.1697007838420; Wed, 11 Oct 2023 00:03:58 -0700 (PDT) MIME-Version: 1.0 References: <20231010140029.66159-1-david.marchand@redhat.com> In-Reply-To: From: David Marchand Date: Wed, 11 Oct 2023 09:03:46 +0200 Message-ID: Subject: Re: [PATCH] eventdev: fix symbol export for port maintenance To: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Cc: dev@dpdk.org, stable@dpdk.org, Jerin Jacob , =?UTF-8?Q?Mattias_R=C3=B6nnblom?= X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Wed, Oct 11, 2023 at 8:47=E2=80=AFAM Mattias R=C3=B6nnblom wrote: > > On 2023-10-10 16:00, David Marchand wrote: > > Trying to call rte_event_maintain out of the eventdev library triggers > > a link failure, as the tracepoint symbol associated to this inline > > helper was not exported. > > > > Fixes: 54f17843a887 ("eventdev: add port maintenance API") > > Cc: stable@dpdk.org > > > > Signed-off-by: David Marchand > > --- > > Caught by the CI when testing the dispatcher library. > > See for example: > > https://github.com/ovsrobot/dpdk/actions/runs/6460514355/job/1753834852= 9#step:19:5506 > > > > --- > > lib/eventdev/version.map | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map > > index b03c10d99f..249eb115b1 100644 > > --- a/lib/eventdev/version.map > > +++ b/lib/eventdev/version.map > > @@ -5,6 +5,7 @@ DPDK_24 { > > __rte_eventdev_trace_deq_burst; > > __rte_eventdev_trace_enq_burst; > > __rte_eventdev_trace_eth_tx_adapter_enqueue; > > + __rte_eventdev_trace_maintain; > > __rte_eventdev_trace_timer_arm_burst; > > __rte_eventdev_trace_timer_arm_tmo_tick_burst; > > __rte_eventdev_trace_timer_cancel_burst; > > I can't say I know why it's needed, but the change seems consistent with > other Eventdev trace points. The trace point framework in DPDK relies on a per trace point global variable (whose name is __): #define __RTE_TRACE_POINT(_mode, _tp, _args, ...) \ extern rte_trace_point_t __##_tp; \ static __rte_always_inline void \ _tp _args \ { \ __rte_trace_point_emit_header_##_mode(&__##_tp); \ __VA_ARGS__ \ } When tracepoints are called from within a shared library code, and because all symbols of a group of objects are visible, the tracepoint symbols are resolved by the linker. But when this tracepoint is called via an inline helper from some code out of the shared library, this symbol must be exported in the shared library map or it won't be visible to "external" users. --=20 David Marchand