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 2783AA0C41; Thu, 16 Sep 2021 11:23:50 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ACBE84069E; Thu, 16 Sep 2021 11:23:49 +0200 (CEST) Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) by mails.dpdk.org (Postfix) with ESMTP id 9C0AE4003F for ; Thu, 16 Sep 2021 11:23:48 +0200 (CEST) Received: by mail-il1-f182.google.com with SMTP id h9so5937790ile.6 for ; Thu, 16 Sep 2021 02:23:48 -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=xGTQ5yqX01gJSjtdexpwqrggNmUBjHZpl8mtNyIKjCE=; b=cMhvq18/+jwhSpjrZXAxCfnp4ou/cIP5ro8rauwOkSucFSaW3wt4nhtAUyeSBSPcAX STC2xhfpooobzzvu+KEwYCgfEl33ET8v0vRWOoIGs2tXYliFaOSyiwDHqHrQnoU4S1H6 LB83ewjqGXnPpnfUIbUwlZrlfs33IE25GXYZ4JpMrf4hzsXFoQNJ1DR7wtWxVydU7b51 Q58njJLByxqSzDXASXh7OGWvyLa0vBxQ7JzoFcoOwC2bOz84nX3AQE+y/PLGtnpqlcbe mmu7sLt6IIrNpXS6h/gfkox9DaUYG72grA/n33FG9GLtek0IKoFBU2dPmeCsJmfhrk6Y Xvqw== 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=xGTQ5yqX01gJSjtdexpwqrggNmUBjHZpl8mtNyIKjCE=; b=hJD/tgSgiMJI9XOLuwRqxybtR+rN2yjYCS2rH1K8hzlZFsb3jdvSpjLXU7NlaArFrI GOLkZnaB2I+SgI0MlxFnCvyko/MXJZGEzlw+7zJ6LHsGfsvRxtLZscyItdBHKFd7b8pf sFSgcIN/I+Kj0EQ+ZbRs4Q8wh9MZhX+eQeHlRBtq2DvoGahJrw0dmHoTFiJyN24PwzcP Z2velSzfmv+kkLyt9K2GyXsO5zsWpfKqlddb5jLXasC7maL0A4RWF7+WjvToLhwCsyvh 56LXUTdU4GKFPTA9Euowx3XTxyF5EMG/BG/iA8euRo5Lqdi1dkSj5+460Fly6wrZYuP5 atwQ== X-Gm-Message-State: AOAM530+epHQm/m+B/2hdi6eyYYdhxxDox6QVr/ib7LaJdzPcwMuFsi8 0wE2YrjSWDAUGCuD3bSY+nHn/FwSBiyhFMGN8+gYj/W3Fa8= X-Google-Smtp-Source: ABdhPJy2L6YECDBfhtvbOQ8tQluDgd+NM6fmehtgi6ULvjEUBY7O3gGPMoFPTAso9b13MWa9yJ7Wzal87ahwyYNT8Yc= X-Received: by 2002:a05:6e02:1d8b:: with SMTP id h11mr3009219ila.94.1631784227752; Thu, 16 Sep 2021 02:23:47 -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:53:21 +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:42 PM Kundapura, Ganapati wrote: > > Hi Jerin, > > > -----Original Message----- > > From: Jerin Jacob > > Sent: 16 September 2021 14:08 > > To: Kundapura, Ganapati > > Cc: Yigit, Ferruh ; Jayatheerthan, Jay > > ; dpdk-dev > > Subject: Re: [PATCH v1] eventdev: update rx timestamp in mbuf using mbuf > > dynamic field > > > > 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") > Circular buffer patch: https://patches.dpdk.org/project/dpdk/patch/20210830130625.1892399-1-ganapati.kundapura@intel.com/ > Added dependency in the updated patch and delegated to you I see. Which already merged. Some issue CI infra then. Cc: @Ferruh Yigit > > > > > > > > > > > > > > > +{ > > > > > + 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 > > > > >