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 EB4CFA0C41; Thu, 16 Sep 2021 10:38:26 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AAC684069E; Thu, 16 Sep 2021 10:38:26 +0200 (CEST) Received: from mail-il1-f178.google.com (mail-il1-f178.google.com [209.85.166.178]) by mails.dpdk.org (Postfix) with ESMTP id 3A8C64003F for ; Thu, 16 Sep 2021 10:38:25 +0200 (CEST) Received: by mail-il1-f178.google.com with SMTP id m4so5821030ilj.9 for ; Thu, 16 Sep 2021 01:38:25 -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=fcl/CrX6bHwwxDNBnTxUMJfxU8eNZz2kH22gSp1OAI8=; b=Anc7LDxdFI+F/epBGlE4GH0FiPTMOm9UP6R5MfmFhK71uxRcpWBx5wta6xlSA9yPWV CobtwjK+7dNp2dZq1DIGxaciDLepdZYbdriuO2UL4qgUZVPiGLVYP85W9L1UTQEjbOF1 KIZzcY4JxUb1JiG7pkLJE40wapAMdtzy41kx3t2ar7MlGXbZSad1L4UFaph5+IRvNMUf CW7MHfnr7EVr4P6w0Lpo4f8j/eIDNRR21JkvJadNoh/bs7K4cuqbo/Y8WRNTH+njWaFf cmrkEeh9x/ohd9p4o6d5juM7K+J0frfnFLj0325pbKEuFCP0C0s4LPFvErgRc+wde4va I3ug== 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=fcl/CrX6bHwwxDNBnTxUMJfxU8eNZz2kH22gSp1OAI8=; b=tcg+N0Vne9OMUB+DCxnd9ktl60BIHoM1kIH0hTKXOhRm8jwkAjmELSHrfXcVjOtuBQ MWFVaJcidB9mBM59xacqSzTIGZxB5SGHt+4ogkf/2nDwbW51gId3yq0C3OaIo3ww5cO/ f04HMCp/ic1WsUdZPjTJXspzcS2gyCd7jm8m+hEO2iUjgOY15D92bbQHrlmPWQYM78Cy P42vvyN39BzGGWlIeCzcOf0mSZlzibuuV9yDQ5WXLhhk+9C75iHMAO5cY54051O+i7vJ tdUdbkOy9lMTQDZ5vAGbj3fbefFPCJkX6j8+Dakk4uYJJgH7f5fQrnJJ1dk+pbga9M7A N+Zg== X-Gm-Message-State: AOAM530LmnmYAAoiJINWmpEbncW5CB5xIEE6YHgLU5KBPZ+L8K2m/FJt whae201xb0BGNAfw0TKQtf7ZWMa8+fKMM167qrZKFZxzZhRw7w== X-Google-Smtp-Source: ABdhPJw6vtaZfEJK5ntZKxgD/DiLsbkubs+11AP7eaYvPqb+L2sTnTCDYE6pa99kG71Auo0aELEh8PKs6XF+xhow1SA= X-Received: by 2002:a92:6e12:: with SMTP id j18mr3089876ilc.243.1631781504480; Thu, 16 Sep 2021 01:38:24 -0700 (PDT) MIME-Version: 1.0 References: <20210914071451.3130703-1-ganapati.kundapura@intel.com> In-Reply-To: From: Jerin Jacob Date: Thu, 16 Sep 2021 14:07:58 +0530 Message-ID: To: "Kundapura, Ganapati" Cc: "Yigit, Ferruh" , "Jayatheerthan, Jay" , dpdk-dev Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v1] eventdev: update rx timestamp in mbuf using mbuf dynamic field 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 Thu, Sep 16, 2021 at 2:03 PM Kundapura, Ganapati wrote: > > Hi Jerrin, > > > -----Original Message----- > > From: Jerin Jacob > > Sent: 16 September 2021 10:20 > > To: Kundapura, Ganapati ; Yigit, Ferruh > > > > Cc: Jayatheerthan, Jay ; dpdk-dev > > > > Subject: Re: [PATCH v1] eventdev: update rx timestamp in mbuf using mbuf > > dynamic field > > > > On Tue, Sep 14, 2021 at 12:44 PM Ganapati Kundapura > > wrote: > > > > > > Add support to register timestamp dynamic field in mbuf. > > > > > > Update the timestamp in mbuf for each packet before enqueuing to event > > > device if the timestamp is not already set. > > > > > > Adding the timestamp in Rx adapter avoids additional latency due to > > > the event device. > > > > > > Signed-off-by: Ganapati Kundapura > > > --- > > > lib/eventdev/rte_event_eth_rx_adapter.c | 35 > > > +++++++++++++++++++++++++++++++++ > > > 1 file changed, 35 insertions(+) > > > > > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c > > > b/lib/eventdev/rte_event_eth_rx_adapter.c > > > index de8ab05..9cb2550 100644 > > > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > > > @@ -17,6 +17,7 @@ > > > #include > > > #include > > > #include > > > +#include > > > > > > #include "rte_eventdev.h" > > > #include "eventdev_pmd.h" > > > @@ -240,6 +241,17 @@ struct eth_rx_queue_info { > > > > > > static struct rte_event_eth_rx_adapter **event_eth_rx_adapter; > > > > > > +/* Enable dynamic timestamp field in mbuf */ uint64_t > > > +event_eth_rx_timestamp_dynflag; int > > > +event_eth_rx_timestamp_dynfield_offset = -1; > > > + > > > +static inline rte_mbuf_timestamp_t * > > > +rte_event_eth_rx_timestamp_dynfield(struct rte_mbuf *mbuf) > > > > Internal functions, please avoid using rte_ > > > > Rest looks good to me. Please send v2 as there are some patchwork failures > > too. > > I have rebased the next-eventdev tree. So v2 should be pass and we can > > merge it. > > > > Cc: @Ferruh Yigit > Looks like rebased next-eventdev tree is not having the latest commits in the tree. > Patch V2 also failed to apply cleanly. V2 changes are after circular buffer changes but > in rebased next-eventdev tree is having commit before circular buffer patch Could you share the circular buffer patch? Also, delegate to me the eventdev patches. Also, Please add dependencies like the following in the patch to track. Depends-on: series-18612 ("net/cnxk: support for inline ipsec") > > > > > > > +{ > > > + return RTE_MBUF_DYNFIELD(mbuf, > > > + event_eth_rx_timestamp_dynfield_offset, > > > +rte_mbuf_timestamp_t *); } > > > + > > > static inline int > > > rxa_validate_id(uint8_t id) > > > { > > > @@ -890,8 +902,18 @@ rxa_buffer_mbufs(struct > > rte_event_eth_rx_adapter *rx_adapter, > > > int do_rss; > > > uint16_t nb_cb; > > > uint16_t dropped; > > > + uint64_t ts, ts_mask; > > > > > > if (!eth_rx_queue_info->ena_vector) { > > > + ts = m->ol_flags & event_eth_rx_timestamp_dynflag ? > > > + 0 : > > > + rte_get_tsc_cycles(); > > > + > > > + /* 0xffff ffff ffff ffff if PKT_RX_TIMESTAMP is set, > > > + * otherwise 0 > > > + */ > > > + ts_mask = (uint64_t)(!(m->ol_flags & > > > + > > > + event_eth_rx_timestamp_dynflag)) - 1ULL; > > > + > > > /* 0xffff ffff if PKT_RX_RSS_HASH is set, otherwise 0 */ > > > rss_mask = ~(((m->ol_flags & PKT_RX_RSS_HASH) != 0) - 1); > > > do_rss = !rss_mask && > > > !eth_rx_queue_info->flow_id_mask; @@ -899,6 +921,11 @@ > > rxa_buffer_mbufs(struct rte_event_eth_rx_adapter *rx_adapter, > > > struct rte_event *ev; > > > > > > m = mbufs[i]; > > > + *rte_event_eth_rx_timestamp_dynfield(m) = > > > + ts | > > > + (*rte_event_eth_rx_timestamp_dynfield(m) & > > > + ts_mask); > > > + > > > ev = &buf->events[new_tail]; > > > > > > rss = do_rss ? rxa_do_softrss(m, > > > rx_adapter->rss_key_be) @@ -2256,6 +2283,14 @@ > > rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id, > > > event_eth_rx_adapter[id] = rx_adapter; > > > if (conf_cb == rxa_default_conf_cb) > > > rx_adapter->default_cb_arg = 1; > > > + > > > + if (rte_mbuf_dyn_rx_timestamp_register( > > > + &event_eth_rx_timestamp_dynfield_offset, > > > + &event_eth_rx_timestamp_dynflag) != 0) { > > > + RTE_EDEV_LOG_ERR("Error registering timestamp field in > > mbuf\n"); > > > + return -rte_errno; > > > + } > > > + > > > rte_eventdev_trace_eth_rx_adapter_create(id, dev_id, conf_cb, > > > conf_arg); > > > return 0; > > > -- > > > 2.6.4 > > >