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 ED483A0C4C; Thu, 14 Oct 2021 11:21:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8BE4540042; Thu, 14 Oct 2021 11:21:21 +0200 (CEST) Received: from mail-il1-f175.google.com (mail-il1-f175.google.com [209.85.166.175]) by mails.dpdk.org (Postfix) with ESMTP id A80F940041 for ; Thu, 14 Oct 2021 11:21:19 +0200 (CEST) Received: by mail-il1-f175.google.com with SMTP id w10so2673113ilc.13 for ; Thu, 14 Oct 2021 02:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uLpEnihw4vq3bh3UtI3qRwrgUIJ884sXdCzVdH+4TsI=; b=nhkpcmGUL1xGv8c8YVNnLxgAj3G2z5nBBpwqjcgUB62zqocZO3KaHx35PaZzb/1uxa ZEJMpI5OIaf91XMQyLfzSTyrnby1oxiNDgL1+901lNMxkT7Q8UJXSJQpEMDpt3S+1e6Q ibSYu55hCMw/iw3Z+GIt9t04QguhfhnqvjkStLACdpOEsqUfHy2GHeyzRuRS3ibS5Jwj JgR2jAL4XxFrfxrAfAY7rSb5ZPERvDR+xt4kCuF9gPPLyuDCPbBowQSQQKHvtlyvA9rB CHCC/tEj2+6mgLAfcpVe6zjjg94K7sRs2j5ICwm2XNn8/N1mxf0dTaWqHqD26VWNhAQ7 ucfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uLpEnihw4vq3bh3UtI3qRwrgUIJ884sXdCzVdH+4TsI=; b=v/tuLJocZACvv7kXq4xCOiJRbfoVgn6OFYX8pfoIU0tyW/T6+P/XuGlrjD28imnJGr FScO+fzAu1T8K5WVlefzCQ1kHfwCY8hETs1lR9vUvIF1eKIWTB0hsu620wJARoiJDzKR xqKoBxaFEC2OMNvntP7uH+RLpYgxQSY3piju00Ca2Aw/jmGANiRxQk0U2z7MZa12ZT8H rIv9rmE1HwtFBHY4+p7d1Kfw18mLG/KByBvZLOj9FCdoqxazQunhAvMGiz1lO5f+FVhK IydaDN3B9dub25zSLVfuRvM76xFlTJGT+7Ec2GTnbDDIuwTiVEH+B++H4fzv0/0hKJ0k LshQ== X-Gm-Message-State: AOAM531fbymPctgi28EBQ4jGwq217xf1Ll/OJ9/cHmZOc4CMO8pH0NuW bF3T8A5VG3Ja0l2jPgXfadhRITUeJGXJHzL6qsw= X-Google-Smtp-Source: ABdhPJy9rzLjjwD9aKlBu+AEUMFy34PEAsv2ziJWVOoWt/lBIE8xgJEeVom25/sBeurPw1NTzK2LsAaxbnK3FP9L6bU= X-Received: by 2002:a05:6e02:1be4:: with SMTP id y4mr1650263ilv.295.1634203279000; Thu, 14 Oct 2021 02:21:19 -0700 (PDT) MIME-Version: 1.0 References: <20211003082710.8398-1-pbhagavatula@marvell.com> <20211006065012.16508-1-pbhagavatula@marvell.com> <20211006065012.16508-4-pbhagavatula@marvell.com> In-Reply-To: <20211006065012.16508-4-pbhagavatula@marvell.com> From: Jerin Jacob Date: Thu, 14 Oct 2021 14:50:52 +0530 Message-ID: To: Pavan Nikhilesh Cc: Jerin Jacob , Ray Kinsella , dpdk-dev Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v3 04/14] eventdev: move inline APIs into separate structure 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 Sender: "dev" On Wed, Oct 6, 2021 at 12:21 PM wrote: > > From: Pavan Nikhilesh > > Move fastpath inline function pointers from rte_eventdev into a > separate structure accessed via a flat array. > The intension is to make rte_eventdev and related structures private intention > to avoid future API/ABI breakages.` > > Signed-off-by: Pavan Nikhilesh > Acked-by: Ray Kinsella > --- > lib/eventdev/eventdev_pmd.h | 38 +++++++++++ > lib/eventdev/eventdev_pmd_pci.h | 4 +- > lib/eventdev/eventdev_private.c | 112 +++++++++++++++++++++++++++++++ > lib/eventdev/meson.build | 1 + > lib/eventdev/rte_eventdev.c | 22 +++++- > lib/eventdev/rte_eventdev_core.h | 28 ++++++++ > lib/eventdev/version.map | 6 ++ > 7 files changed, 209 insertions(+), 2 deletions(-) > create mode 100644 lib/eventdev/eventdev_private.c > sources = files( > + 'eventdev_private.c', > 'rte_eventdev.c', > 'rte_event_ring.c', > 'eventdev_trace_points.c', Since you are reworking, please sort this in alphabetical order. > > +struct rte_event_fp_ops { > + event_enqueue_t enqueue; > + /**< PMD enqueue function. */ > + event_enqueue_burst_t enqueue_burst; > + /**< PMD enqueue burst function. */ > + event_enqueue_burst_t enqueue_new_burst; > + /**< PMD enqueue burst new function. */ > + event_enqueue_burst_t enqueue_forward_burst; > + /**< PMD enqueue burst fwd function. */ > + event_dequeue_t dequeue; > + /**< PMD dequeue function. */ > + event_dequeue_burst_t dequeue_burst; > + /**< PMD dequeue burst function. */ > + event_tx_adapter_enqueue_t txa_enqueue; > + /**< PMD Tx adapter enqueue function. */ > + event_tx_adapter_enqueue_t txa_enqueue_same_dest; > + /**< PMD Tx adapter enqueue same destination function. */ > + event_crypto_adapter_enqueue_t ca_enqueue; > + /**< PMD Crypto adapter enqueue function. */ > + uintptr_t reserved[2]; > + > + void **data; Since access to data is a must for all ops, Please move that to first. Also, you can merge reserved and reserved2 in that case. > + /**< points to array of internal port data pointers */ > + uintptr_t reserved2[4]; > +} __rte_cache_aligned; > + > +extern struct rte_event_fp_ops rte_event_fp_ops[RTE_EVENT_MAX_DEVS]; > + > #define RTE_EVENTDEV_NAME_MAX_LEN (64) > /**< @internal Max length of name of event PMD */ > > diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map > index 5f1fe412a4..a3a732089b 100644 > --- a/lib/eventdev/version.map > +++ b/lib/eventdev/version.map > @@ -85,6 +85,9 @@ DPDK_22 { > rte_event_timer_cancel_burst; > rte_eventdevs; > > + #added in 21.11 > + rte_event_fp_ops; > + > local: *; > }; > > @@ -141,6 +144,9 @@ EXPERIMENTAL { > INTERNAL { > global: > > + event_dev_fp_ops_reset; > + event_dev_fp_ops_set; > + event_dev_probing_finish; > rte_event_pmd_selftest_seqn_dynfield_offset; > rte_event_pmd_allocate; > rte_event_pmd_get_named_dev; > -- > 2.17.1 >