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 CE5E041B7B; Thu, 12 Oct 2023 14:32:53 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C89994028C; Thu, 12 Oct 2023 14:32:52 +0200 (CEST) Received: from mail-qt1-f169.google.com (mail-qt1-f169.google.com [209.85.160.169]) by mails.dpdk.org (Postfix) with ESMTP id E31AB4028A; Thu, 12 Oct 2023 14:32:50 +0200 (CEST) Received: by mail-qt1-f169.google.com with SMTP id d75a77b69052e-41959feaae2so5557691cf.0; Thu, 12 Oct 2023 05:32:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697113970; x=1697718770; darn=dpdk.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=r329MbpHsC0XC3x2ftgXCTYZm6aTLFhA+M15fFgAcu4=; b=hz7Kp9WjQ71b8aMgsu8lcAQAYu+7X9MIMmY2JcxErxO/Z6TZ1186gGzlqky6p2siBW YcFN4TLi1PjkIgh12w/QiPfSwGzxQUOmOqLklaCoD63rf02sKpBcV7YW7Ln3BkbKAAyh cUwt8SFEg8xauGNgzbMCG3YfwoJ+b0R0xxmLpiIZgMJ0p+4R+irDvTLY+LlCQaymJ0L0 lglHb9U2XW/doEI0rKAqKF6Ec6U/48vi1K1WWvxq+Z5T4A4RtwlEVb/2UM9D6YtossYz u27Jl3aiZNcNIs5ukn/GZsniS+V3LhnX2/ov9Fpcu6tu+vMeEc+X1tDw3xoLz3KCq5jK KcIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697113970; x=1697718770; h=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=r329MbpHsC0XC3x2ftgXCTYZm6aTLFhA+M15fFgAcu4=; b=vFntbJKYdk6VYBtsPs0O+T7E+zLQCzRIGRCRzDnHmzySJcJfbk+FYuu0Mu/huEbJtO 6cHNfzACCN2QLzsyd0sYopIaVxTGmqd8RD8tiqNabvAdBkwsqXsH2FfLTWtR3HAG8d2L VhlkJGIJk5n62YExXAXWVxGOOf4zi5MGJY5xwfpHFuRnl4SMW26m9qWT2QJ/fRD2smyU cPcv8NPQ3oBabzokorFLlVym7GaE+vLk1ATXESq4m4SC0lFIn334+eNlYqKdjTpec2ZV tXHo52Lzn6n1bSEcbNjPnIxm5KWUMGB4xSabW0QVt3bY3tgkqncO7ZNPZY/WX3aGsooM oWWQ== X-Gm-Message-State: AOJu0YxhcwcRV/qBsYQ9fCV+nV86r2qoczBFgw2ttMDDNI+Va8ry1R7K xM1Kel3NOI8H2+hx7ORjl05US5UqD77JOXStp38= X-Google-Smtp-Source: AGHT+IHnljN4DAHKyvTn3mL21/uApnOG1dW4Qi8Oofmj26zWdqmWgFINbMgJXir/XiSU2BqXMiuwlbpb7gxwkr4aTtU= X-Received: by 2002:a05:622a:11d4:b0:416:5e11:f7ec with SMTP id n20-20020a05622a11d400b004165e11f7ecmr31099873qtk.52.1697113970266; Thu, 12 Oct 2023 05:32:50 -0700 (PDT) MIME-Version: 1.0 References: <20231010140029.66159-1-david.marchand@redhat.com> In-Reply-To: From: Jerin Jacob Date: Thu, 12 Oct 2023 18:02:24 +0530 Message-ID: Subject: Re: [PATCH] eventdev: fix symbol export for port maintenance To: David Marchand Cc: =?UTF-8?Q?Mattias_R=C3=B6nnblom?= , Jerin Jacob , dev@dpdk.org, stable@dpdk.org, =?UTF-8?Q?Mattias_R=C3=B6nnblom?= Content-Type: text/plain; charset="UTF-8" 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 > > > > > > 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. > > Could we describe / mention this in the trace point library doc? > Or maybe I read too quickly and there is already something but it was > not obvious to me. Following text is available in https://doc.dpdk.org/guides/prog_guide/trace_lib.html as NOTE. We may need to update to very specific on FP trace points. The RTE_TRACE_POINT_REGISTER defines the placeholder for the rte_trace_point_t tracepoint object. For generic tracepoint or for tracepoint used in public header files, the user must export a __ symbol in the library .map file for this tracepoint to be used out of the library, in shared builds. For example, __app_trace_string will be the exported symbol in the above example. > > > -- > David Marchand >