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 4FC10A0C41; Thu, 16 Sep 2021 10:48:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4134D407FF; Thu, 16 Sep 2021 10:48:20 +0200 (CEST) Received: from mail-il1-f177.google.com (mail-il1-f177.google.com [209.85.166.177]) by mails.dpdk.org (Postfix) with ESMTP id 2DCD94003F for ; Thu, 16 Sep 2021 10:48:19 +0200 (CEST) Received: by mail-il1-f177.google.com with SMTP id x2so5817022ila.11 for ; Thu, 16 Sep 2021 01:48: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=N67d5s5RbnUuw8K3uNPQsL8tXrTCV6aNVYT1DikJO/M=; b=OZRdyOYobJI3yoW085T1FgeJIxNCFGR6GyfLqX+1rn5OVN8Y47qxV4MVKS2wnEgdpP ay0wzDw3HRcmybtTbhtCptfdnow/cNY2OUvBDmqmL1LVaHGspj1ZRthnqIWdeFbim4yn 6PxKM3CrbQAMghhIUJGZUnZ3Q25hcGVdFQiGn5+0dDmj8u2TZDDVii03AseeDIpNj5Dq HZqP3ZxAe9z4hkBcuJXTnGwg/xwoUh/03T/+fJ9w/0Ecy18vCMlHtec+YBQZOmkPnthT OG+JKrAkzCjfDrxyS9iA1ta8OxsvwtRiRuwwgwmHkJTwCBOL13yrrFCPbC4m5ut0sQy5 4HWA== 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=N67d5s5RbnUuw8K3uNPQsL8tXrTCV6aNVYT1DikJO/M=; b=uSXVUgGfoYbkO8rmGc8nhYqOBPGmE/3N88x3kBlM46DaZ2vIAySALVXYMiStkEPHnp UM+/kR0ZGQAZQioWLGwNP0JjTNibqzt/Yn3GZSB65lgua3J8daT0s2bBjOF6aO4zO9zG z5zFArMrW48g7wb1LUMjx2hHJM7XccsctQ+gQhEdrLtlMNgHCXQSeDOj8kRnYpif8Md/ 1hZ1Jzftofjxu/xT+OnmrcJaItXjgtj/wu0k9N7tFMykgEhVoFgQu6NM7vgjM9GDQG/m hEANGukiCsRr3StRw7y+4uVvpwJkqHjTU+Q7hg54Ay00i6nSL+gPEPM+owZSJZRV+i9g pevQ== X-Gm-Message-State: AOAM532AcPRYSJM660j+uWZXjRSITo3XyWJaFmfkK/skiWMG14/KnsXv 9fXdNeD45drFREQhVuHuZfvkoq25BTxZB5RRzMM= X-Google-Smtp-Source: ABdhPJxS8CXO7JfVLEM/6OBJ8NTzsIwToO+2a1ai03e8hMuZj+uKNsmFUoLjgdJqrNU8g2C4QclXb7sayBPjY2NimS8= X-Received: by 2002:a92:6e12:: with SMTP id j18mr3111256ilc.243.1631782098578; Thu, 16 Sep 2021 01:48:18 -0700 (PDT) MIME-Version: 1.0 References: <20210907053642.4093569-1-ganapati.kundapura@intel.com> <20210907064518.376652-1-ganapati.kundapura@intel.com> In-Reply-To: From: Jerin Jacob Date: Thu, 16 Sep 2021 14:17:52 +0530 Message-ID: To: "Kundapura, Ganapati" Cc: "Jayatheerthan, Jay" , dpdk-dev , Pavan Nikhilesh Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v3 1/3] eventdev: add rx queue info get api 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:05 PM Kundapura, Ganapati wrote: > > Hi Jerin, > > > -----Original Message----- > > From: Jerin Jacob > > Sent: 16 September 2021 10:13 > > To: Kundapura, Ganapati > > Cc: Jayatheerthan, Jay ; dpdk-dev > > ; Pavan Nikhilesh > > Subject: Re: [PATCH v3 1/3] eventdev: add rx queue info get api > > > > () > > > > On Wed, Sep 8, 2021 at 1:51 PM Kundapura, Ganapati > > wrote: > > > > > > Hi Jerin, > > > > > > > -----Original Message----- > > > > From: Jerin Jacob > > > > Sent: 07 September 2021 15:07 > > > > To: Kundapura, Ganapati > > > > Cc: Jayatheerthan, Jay ; dpdk-dev > > > > ; Pavan Nikhilesh > > > > Subject: Re: [PATCH v3 1/3] eventdev: add rx queue info get api > > > > > > > > On Tue, Sep 7, 2021 at 2:20 PM Kundapura, Ganapati > > > > wrote: > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: Jerin Jacob > > > > > > Sent: 07 September 2021 13:42 > > > > > > To: Kundapura, Ganapati > > > > > > Cc: Jayatheerthan, Jay ; dpdk-dev > > > > > > ; Pavan Nikhilesh > > > > > > Subject: Re: [PATCH v3 1/3] eventdev: add rx queue info get api > > > > > > > > > > > > in > > > > > > > > > > > > On Tue, Sep 7, 2021 at 12:15 PM Ganapati Kundapura > > > > > > wrote: > > > > > > > > > > > > > > Added rte_event_eth_rx_adapter_queue_info_get() API to get rx > > > > > > > queue information - event queue identifier, flags for handling > > > > > > > received packets, schedular type, event priority, polling > > > > > > > frequency of the receive queue and flow identifier in > > > > > > > rte_event_eth_rx_adapter_queue_info structure > > > > > > > > > > > > > > Signed-off-by: Ganapati Kundapura > > > > > > > > > > > > > > > > > > > > > --- > > > > > > > v3: > > > > > > > * Split single patch into implementaion, test and document > > updation > > > > > > > patches separately > > > > > > > > > > > > > +struct rte_event_eth_rx_adapter_queue_info; > > > > > > > + > > > > > > > +/** > > > > > > > + * Retrieve information about Rx queue. This callback is > > > > > > > +invoked if > > > > > > > + * the caps returned from the > > > > > > > +eventdev_eth_rx_adapter_caps_get(, > > > > > > > +eth_port_id) > > > > > > > + * has RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT set. > > > > > > > > > > > > It will useful for > > !RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT > > > > case > > > > > > too. > > > > > > > > > > > > > > > > > > > > > > Missed this comment in v4 > > > Sorry I missed these comments > > > > > > rte_event_eth_rx_adapter_queue_info_get() calls PMD callback if > > > internal port cap is set, otherwise it implements to return the queue_info. > > > PMD callback is for internal port and queue_info_get() api implements > > > for non internal port > > > > This API will be useful for > > !RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT case too. In order to > > use this in a generic way, I suggest in following way, > > > > In the rte_event_eth_rx_adapter_queue_add() stores this config in > > common code(i.e > > file: ./lib/eventdev/rte_event_eth_rx_adapter.c and > > rte_event_eth_rx_adapter_queue_add() function) as named memzone or > > so. > > > > Later when rte_event_eth_rx_adapter_queue_conf_get() called, the config > > can be retrived through named memzone lookup and have PMD specific > > callback like your patch for overriding any parameter as neeed. i.e If PMD > > callback is NULL, Application should get the config struct as provided in > > rte_event_eth_rx_adapter_queue_add() with > > rte_event_eth_rx_adapter_queue_conf_get(). > > > See below updated implementation > > que_conf_get() { > memzone lookup > return error on failure > > Fill queue config info in queue conf structure > if CAP_INTERNAL_PORT set and PMD call back is non NULL IMO, We don't need to check CAP_INTERNAL_PORT. Rest looks good to me. Also update the test case check this path(case where PMD callback is NULL) > call the PMD callback which overrides the info in queue conf structure > > return 0; // queue config info is returned in passed queue_conf structure > } > > rx adapter structures are allocated in memzone, rx_queue_add() stores > the queue config info in named memzone and queue_conf_get() returns queue config > info from the named memzone. > > Please let me know your inputs on this > > > > > > > > > > > > > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h > > > > > > > b/lib/eventdev/rte_event_eth_rx_adapter.h > > > > > > > index 182dd2e..75c0010 100644 > > > > > > > --- a/lib/eventdev/rte_event_eth_rx_adapter.h > > > > > > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.h > > > > > > > @@ -33,6 +33,7 @@ > > > > > > > * - rte_event_eth_rx_adapter_stop() > > > > > > > * - rte_event_eth_rx_adapter_stats_get() > > > > > > > * - rte_event_eth_rx_adapter_stats_reset() > > > > > > > + * - rte_event_eth_rx_adapter_queue_info_get() > > > > > > > * > > > > > > > * The application creates an ethernet to event adapter using > > > > > > > * rte_event_eth_rx_adapter_create_ext() or > > > > > > > rte_event_eth_rx_adapter_create() @@ -140,6 +141,56 @@ > > typedef > > > > int > > > > > > (*rte_event_eth_rx_adapter_conf_cb) (uint8_t id, uint8_t dev_id, > > > > > > > void *arg); > > > > > > > > > > > > > > /** > > > > > > > + * Rx queue info > > > > > > > + */ > > > > > > > +struct rte_event_eth_rx_adapter_queue_info { > > > > > > > > > > > > Can we avoid the duplication of this structure and use > > > > > > rte_event_eth_rx_adapter_queue_conf instead. > > > > > > > > > Agree > > > > > > API can be rte_event_eth_rx_adapter_queue_conf_get() to align > > > > > > the structure. > > > Agree > > > > > > > > > > > > Also instead of every driver duplicating this code, How about > > > > > > - common code stores the config in > > > > > > rte_event_eth_rx_adapter_queue_add() > > > > > > - common code stores the config in > > > > > > rte_event_eth_rx_adapter_queue_conf_get() > > > > > > queue_add() stores the config in dev_info and queue_conf_get() retrieves > > the config from dev_info. > > > Please clarify on common code to store and retrieve queue conf? > > > > > > See above. > > > > > > > > > > - Addtional PMD level API can be given incase, something needs > > > > > > to overridden by Adapter. > > > > > > > Existing PMD callbacks like queue_add, queue_del, adapter_start, > > > adapter_stop etc doesn't have any additional PMD level api. > > > queue_info_get PMD callback is also similar. > > > > > > See above. > > > > > > > > > > > > > > > > > Missed addressing this comment in v4.