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 F17B24235C for ; Wed, 11 Oct 2023 09:04:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 06664402A2; Wed, 11 Oct 2023 09:04:03 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 4DC0D4028A for ; Wed, 11 Oct 2023 09:04:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1697007841; 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=gZ/5gWWAtJsVACKHODEdGPhXQvNwOW4eXMEUjSNGWozQHvXvoTRcjkSLFSFM+AAwCf/mz4 g114ky97PXBSL8reqBPONfVGqjPatPFImLHNfgRiSzJZ30iR4mldYS0BFH0gDIHSfBgvNX jKLt8MzZ9TxhE+IWRcI770scOyigJe0= Received: from mail-lf1-f70.google.com (mail-lf1-f70.google.com [209.85.167.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-347-d3wyhlMwNi2EjK4WX7Wplw-1; Wed, 11 Oct 2023 03:04:00 -0400 X-MC-Unique: d3wyhlMwNi2EjK4WX7Wplw-1 Received: by mail-lf1-f70.google.com with SMTP id 2adb3069b0e04-5056eada207so6087114e87.1 for ; Wed, 11 Oct 2023 00:03:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697007838; x=1697612638; 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=Iq8bYn1norzLCIpKdLNBN/7FRA2vLNqSdJwcMON8zoWFtquS/62aKMzAqsWAgawHnk UZ8MqulmttPykQHKPor1v2FUbnrXC8/q2HLsACrniYuKl5nnnGqBmdbHfH0bHZZRVYRj gpfN59+vu08bZp/0ouz0R8yd/RxNqrW4vrI8gtVopeO2gt+sifyp9CzFXkLI7SEzeE+A OddnLtrdlw2mJjB16vQZTC3jFM9rPpvMYISsGVWDD/hh2BHsf0+qD57h929aqQPor6mU LW7XJl5dkxNyd5rsisDiIUOEEtZr93dx5m8RQImjYtFnOkqv7J17IG74mgeYnW3Eqfm3 x4jg== X-Gm-Message-State: AOJu0Yz5CG9oX1yZDrVPrEjEnYPt26FBbNxKl2SX/gt5y49EGtKXFNgj DVIPlH9f11CBgXGdpbJqGZ+0Ix+Amj8Njnxw+B2NHVFdLky8r+1jlhKbn1rZrW9mi+lPU1P9imZ bJ7FbunX8SaMy0IltsyfU3ZE= X-Received: by 2002:a05:6512:ba6:b0:503:2877:67d3 with SMTP id b38-20020a0565120ba600b00503287767d3mr19743142lfv.67.1697007838775; 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: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-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