DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Xueming(Steven) Li" <xuemingl@nvidia.com>
To: "yisen.zhuang@huawei.com" <yisen.zhuang@huawei.com>,
	"oulijun@huawei.com" <oulijun@huawei.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"humin29@huawei.com" <humin29@huawei.com>,
	"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
	"spinler@cesnet.cz" <spinler@cesnet.cz>
Cc: "mczekaj@marvell.com" <mczekaj@marvell.com>,
	"radhac@marvell.com" <radhac@marvell.com>,
	"sthotton@marvell.com" <sthotton@marvell.com>,
	Matan Azrad <matan@nvidia.com>,
	"kirankumark@marvell.com" <kirankumark@marvell.com>,
	"rmody@marvell.com" <rmody@marvell.com>,
	"beilei.xing@intel.com" <beilei.xing@intel.com>,
	"chenbo.xia@intel.com" <chenbo.xia@intel.com>,
	"vburru@marvell.com" <vburru@marvell.com>,
	"somnath.kotur@broadcom.com" <somnath.kotur@broadcom.com>,
	"jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>,
	"skori@marvell.com" <skori@marvell.com>,
	"hemant.agrawal@nxp.com" <hemant.agrawal@nxp.com>,
	"maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>,
	"asomalap@amd.com" <asomalap@amd.com>,
	"yongwang@vmware.com" <yongwang@vmware.com>,
	"andrew.rybchenko@oktetlabs.ru" <andrew.rybchenko@oktetlabs.ru>,
	"heinrich.kuhn@corigine.com" <heinrich.kuhn@corigine.com>,
	"ajit.khaparde@broadcom.com" <ajit.khaparde@broadcom.com>,
	"hkalra@marvell.com" <hkalra@marvell.com>,
	"shaibran@amazon.com" <shaibran@amazon.com>,
	"chas3@att.com" <chas3@att.com>,
	"cloud.wangxiaoyun@huawei.com" <cloud.wangxiaoyun@huawei.com>,
	"sthemmin@microsoft.com" <sthemmin@microsoft.com>,
	"jerinj@marvell.com" <jerinj@marvell.com>,
	"qiming.yang@intel.com" <qiming.yang@intel.com>,
	"pnalla@marvell.com" <pnalla@marvell.com>,
	NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
	"mk@semihalf.com" <mk@semihalf.com>,
	"srinivasan@marvell.com" <srinivasan@marvell.com>,
	"mw@semihalf.com" <mw@semihalf.com>,
	"keith.wiles@intel.com" <keith.wiles@intel.com>,
	"xiao.w.wang@intel.com" <xiao.w.wang@intel.com>,
	"xuanziyang2@huawei.com" <xuanziyang2@huawei.com>,
	"mtetsuyah@gmail.com" <mtetsuyah@gmail.com>,
	"qi.z.zhang@intel.com" <qi.z.zhang@intel.com>,
	"g.singh@nxp.com" <g.singh@nxp.com>,
	"aboyer@pensando.io" <aboyer@pensando.io>,
	"steven.webster@windriver.com" <steven.webster@windriver.com>,
	"evgenys@amazon.com" <evgenys@amazon.com>,
	"johndale@cisco.com" <johndale@cisco.com>,
	"irusskikh@marvell.com" <irusskikh@marvell.com>,
	"dsinghrawat@marvell.com" <dsinghrawat@marvell.com>,
	"shshaikh@marvell.com" <shshaikh@marvell.com>,
	"lironh@marvell.com" <lironh@marvell.com>,
	Slava Ovsiienko <viacheslavo@nvidia.com>,
	"aman.deep.singh@intel.com" <aman.deep.singh@intel.com>,
	"sachin.saxena@oss.nxp.com" <sachin.saxena@oss.nxp.com>,
	"rahul.lakkireddy@chelsio.com" <rahul.lakkireddy@chelsio.com>,
	"matt.peters@windriver.com" <matt.peters@windriver.com>,
	"jianwang@trustnetic.com" <jianwang@trustnetic.com>,
	"skoteshwar@marvell.com" <skoteshwar@marvell.com>,
	 "zr@semihalf.com" <zr@semihalf.com>,
	"jingjing.wu@intel.com" <jingjing.wu@intel.com>,
	NBU-Contact-longli <longli@microsoft.com>,
	"igorch@amazon.com" <igorch@amazon.com>,
	"grive@u256.net" <grive@u256.net>,
	"zhouguoyang@huawei.com" <zhouguoyang@huawei.com>,
	"jgrajcia@cisco.com" <jgrajcia@cisco.com>,
	"hyonkim@cisco.com" <hyonkim@cisco.com>,
	"haiyue.wang@intel.com" <haiyue.wang@intel.com>,
	"ndabilpuram@marvell.com" <ndabilpuram@marvell.com>
Subject: Re: [dpdk-dev] [PATCH v5 2/2] ethdev: change queue release callback
Date: Wed, 6 Oct 2021 11:19:51 +0000	[thread overview]
Message-ID: <395409e988076662594fa28bd59cd4a35c653665.camel@nvidia.com> (raw)
In-Reply-To: <d542ba71-d45f-9af8-b689-00f341648fdb@intel.com>

On Wed, 2021-10-06 at 09:04 +0100, Ferruh Yigit wrote:
> On 10/6/2021 8:55 AM, Xueming(Steven) Li wrote:
> > On Tue, 2021-10-05 at 17:38 +0100, Ferruh Yigit wrote:
> > > On 9/29/2021 2:57 PM, Xueming(Steven) Li wrote:
> > > > On Wed, 2021-09-22 at 12:54 +0000, Xueming(Steven) Li wrote:
> > > > > On Wed, 2021-09-22 at 11:57 +0100, Ferruh Yigit wrote:
> > > > > > > > 
> > > > > > > > <...>
> > > > > > > > 
> > > > > > > > >    void
> > > > > > > > > -i40e_dev_rx_queue_release(void *rxq)
> > > > > > > > > +i40e_dev_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
> > > > > > > > > +{
> > > > > > > > > +	i40e_rx_queue_release(dev->data->rx_queues[qid]);
> > > > > > > > > +}
> > > > > > > > > +
> > > > > > > > > +void
> > > > > > > > > +i40e_dev_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
> > > > > > > > > +{
> > > > > > > > > +	i40e_tx_queue_release(dev->data->tx_queues[qid]);
> > > > > > > > > +}
> > > > > > > > > +
> > > > > > > > 
> > > > > > > > Is there any specific reason to not update driver but add wrappers for it?
> > > > > > > 
> > > > > > > Some caller don't have queue ID on hand, adding wrapper seems more
> > > > > > > convinient.
> > > > > > > 
> > > > > > 
> > > > > > Convinient for the patch, but not sure convinient for the driver.
> > > > > > 
> > > > > > As mentioned before, not sure about approach to update some driver and add
> > > > > > wrappers for some others.
> > > > > > 
> > > > > > qede, ice and i40e seems not updated, I am for syncronizing with their
> > > > > > maintainers before proceed.
> > > > > > 
> > > > > > > 
> > > > > 
> > > > > For qede, qede_tx_queue_release(txq_obj) is called by
> > > > > qede_alloc_tx_queue_mem(dev, qid), while upper caller
> > > > > qede_tx_queue_setup() doesn't always save txq_obj to dev->data->txqs[].
> > > > > 
> > > > > For ice and i40e, it's similar, ice_tx_queue_release() is used to free
> > > > > txq, but some txq isn't saved into dev, please refer to
> > > > > ice_fdir_setup(), wrapper is needed.
> > > > > 
> > > > > These 3 PMDs create rxq/txq that not saved in dev->data, can't change
> > > > > parameter to dev+qid for such case, that's why wrapper was there.
> > > > > 
> > > > 
> > > > Hi Ferruh,
> > > > 
> > > > No response from qede, ice and i40e. Basically the original queue
> > > > release api is shared by private queues(not registered to ethdev),
> > > > can't access by index, that why a warpper was there. To avoid more
> > > > rebase in last minute for this big patch, do you think we could close
> > > > it?
> > > > 
> > > 
> > > I see the reason and since there is no update from maintainers, to keep
> > > the ball rolling agree to continue with wrappers, those PMDs can send
> > > incremental patches if required.
> > > 
> > > > BTW, from feedback from hns3, I will post a new version to add the
> > > > macro.
> > > > 
> > > 
> > > I have concern about this one, how accessing to the global variable
> > > 'rte_eth_devices' via a macro improves the situation?
> > > 
> > > Can you please make wrappers for hns3 driver too, we can follow it later
> > > with driver maintainer?
> > 
> > hns3 doesn't need a wrapper. The macro isn't related to wrapper, just
> > for the rte_eth_devices access as you suggested:
> > 	&rte_eth_devices[hw->data->port_id]
> > 
> 
> I suggested not to access global 'rte_eth_devices' variable from driver, and v6 has
> a macro in the driver [1] to access the same variable, hiding it behind a macro
> is not changing anything.
> Since your updates adds more access to 'rte_eth_devices' [2], my suggestion was
> do a quick wrapper solution for the driver until it is properly updated.
> 
> [1]
> #define HNS3_DEV(hw) &rte_eth_devices[(hw)->data->port_id]
> 
> [2]
> 	-	hns3_dev_rx_queue_release(rxq[i]);
> 	+	hns3_dev_rx_queue_release(HNS3_DEV(hw), i);
> 

Sorry I misunderstood, v7 posted, please check.

Just curios, what's the proper way to access device by port ID? ethdev
is a local struct, saving it in private data struct seems won't make it
work in secondary process, do you think an API should be there to get
device from port ID?


  reply	other threads:[~2021-10-06 11:20 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-27  3:41 [dpdk-dev] [RFC] " Xueming Li
2021-07-28  7:40 ` Andrew Rybchenko
2021-08-09 14:39   ` Singh, Aman Deep
2021-08-09 15:31     ` Ferruh Yigit
2021-08-10  8:03       ` Xueming(Steven) Li
2021-08-10  8:54         ` Ferruh Yigit
2021-08-10  9:07           ` Xueming(Steven) Li
2021-08-11 11:57             ` Ferruh Yigit
2021-08-11 12:13               ` Xueming(Steven) Li
2021-08-12 14:29                 ` Xueming(Steven) Li
2021-09-26 11:25               ` Xueming(Steven) Li
2021-08-11 13:45 ` [dpdk-dev] [PATCH v1] " Xueming Li
2021-09-15 13:02 ` [dpdk-dev] [PATCH v2] " Xueming Li
2021-09-15 13:36   ` Xueming(Steven) Li
2021-09-16  8:09   ` Thomas Monjalon
2021-09-16 15:43     ` Xueming(Steven) Li
2021-09-16 15:50       ` Thomas Monjalon
2021-09-17  9:40         ` Xueming(Steven) Li
2021-09-17  9:39 ` [dpdk-dev] [PATCH v3 0/2] " Xueming Li
2021-09-17  9:39   ` [dpdk-dev] [PATCH v3 1/2] ethdev: queue release callback optional Xueming Li
2021-09-17 11:29     ` Andrew Rybchenko
2021-09-17 11:53       ` Andrew Rybchenko
2021-09-17 14:33         ` Xueming(Steven) Li
2021-09-17  9:39   ` [dpdk-dev] [PATCH v3 2/2] ethdev: change queue release callback Xueming Li
2021-09-17 11:49     ` Andrew Rybchenko
2021-09-17 14:31       ` Xueming(Steven) Li
2021-09-17 14:28 ` [dpdk-dev] [PATCH v4 0/2] " Xueming Li
2021-09-17 14:28   ` [dpdk-dev] [PATCH v4 1/2] ethdev: make queue release callback optional Xueming Li
2021-09-18  6:44     ` Andrew Rybchenko
2021-10-05 22:00       ` Thomas Monjalon
2021-09-17 14:28   ` [dpdk-dev] [PATCH v4 2/2] ethdev: change queue release callback Xueming Li
2021-09-18  6:50     ` Andrew Rybchenko
2021-09-18 12:39       ` Xueming(Steven) Li
2021-09-18 12:35 ` [dpdk-dev] [PATCH v5 0/2] " Xueming Li
2021-09-18 12:35   ` [dpdk-dev] [PATCH v5 1/2] ethdev: make queue release callback optional Xueming Li
2021-09-21 16:23     ` Ferruh Yigit
2021-09-18 12:35   ` [dpdk-dev] [PATCH v5 2/2] ethdev: change queue release callback Xueming Li
2021-09-21 18:13     ` Ferruh Yigit
2021-09-22  9:35       ` Xueming(Steven) Li
2021-09-22 10:57         ` Ferruh Yigit
2021-09-22 12:54           ` Xueming(Steven) Li
2021-09-29 13:57             ` Xueming(Steven) Li
2021-10-05 16:38               ` Ferruh Yigit
2021-10-06  7:55                 ` Xueming(Steven) Li
2021-10-06  8:04                   ` Ferruh Yigit
2021-10-06 11:19                     ` Xueming(Steven) Li [this message]
     [not found]           ` <2d2e9329b076c022418efd7b38ff280cf3ed1af4.camel@nvidia.com>
     [not found]             ` <56f7537a-bfc0-e4b8-72e8-c382ef0e2dbd@huawei.com>
     [not found]               ` <8e2c2f96265dc17af0564befb3918f1a8ea5154a.camel@nvidia.com>
2021-09-29 14:04                 ` [dpdk-dev] Fwd: " Xueming(Steven) Li
2021-09-30 15:17 ` [dpdk-dev] [PATCH v6 0/2] " Xueming Li
2021-09-30 15:17   ` [dpdk-dev] [PATCH v6 1/2] ethdev: make queue release callback optional Xueming Li
2021-10-05 22:04     ` Thomas Monjalon
2021-09-30 15:17   ` [dpdk-dev] [PATCH v6 2/2] ethdev: change queue release callback Xueming Li
2021-10-03  7:38     ` Matan Azrad
2021-10-03 21:00       ` Ajit Khaparde
2021-10-06 10:21     ` Somnath Kotur
2021-10-06 11:18 ` [dpdk-dev] [PATCH v7 0/2] " Xueming Li
2021-10-06 11:18   ` [dpdk-dev] [PATCH v7 1/2] ethdev: make queue release callback optional Xueming Li
2021-10-06 15:38     ` Hemant Agrawal
2021-10-08  8:16     ` Xu, Rosen
2021-10-06 11:18   ` [dpdk-dev] [PATCH v7 2/2] ethdev: change queue release callback Xueming Li
2021-10-06 17:20     ` Ferruh Yigit
2021-10-11  8:28     ` Thomas Monjalon
2021-10-11 13:11       ` Ferruh Yigit
2021-10-06 17:25   ` [dpdk-dev] [PATCH v7 0/2] " Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=395409e988076662594fa28bd59cd4a35c653665.camel@nvidia.com \
    --to=xuemingl@nvidia.com \
    --cc=aboyer@pensando.io \
    --cc=ajit.khaparde@broadcom.com \
    --cc=aman.deep.singh@intel.com \
    --cc=andrew.rybchenko@oktetlabs.ru \
    --cc=asomalap@amd.com \
    --cc=beilei.xing@intel.com \
    --cc=chas3@att.com \
    --cc=chenbo.xia@intel.com \
    --cc=cloud.wangxiaoyun@huawei.com \
    --cc=dev@dpdk.org \
    --cc=dsinghrawat@marvell.com \
    --cc=evgenys@amazon.com \
    --cc=ferruh.yigit@intel.com \
    --cc=g.singh@nxp.com \
    --cc=grive@u256.net \
    --cc=haiyue.wang@intel.com \
    --cc=heinrich.kuhn@corigine.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=hkalra@marvell.com \
    --cc=humin29@huawei.com \
    --cc=hyonkim@cisco.com \
    --cc=igorch@amazon.com \
    --cc=irusskikh@marvell.com \
    --cc=jerinj@marvell.com \
    --cc=jgrajcia@cisco.com \
    --cc=jianwang@trustnetic.com \
    --cc=jiawenwu@trustnetic.com \
    --cc=jingjing.wu@intel.com \
    --cc=johndale@cisco.com \
    --cc=keith.wiles@intel.com \
    --cc=kirankumark@marvell.com \
    --cc=lironh@marvell.com \
    --cc=longli@microsoft.com \
    --cc=matan@nvidia.com \
    --cc=matt.peters@windriver.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mczekaj@marvell.com \
    --cc=mk@semihalf.com \
    --cc=mtetsuyah@gmail.com \
    --cc=mw@semihalf.com \
    --cc=ndabilpuram@marvell.com \
    --cc=oulijun@huawei.com \
    --cc=pnalla@marvell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=radhac@marvell.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=rmody@marvell.com \
    --cc=sachin.saxena@oss.nxp.com \
    --cc=shaibran@amazon.com \
    --cc=shshaikh@marvell.com \
    --cc=skori@marvell.com \
    --cc=skoteshwar@marvell.com \
    --cc=somnath.kotur@broadcom.com \
    --cc=spinler@cesnet.cz \
    --cc=srinivasan@marvell.com \
    --cc=steven.webster@windriver.com \
    --cc=sthemmin@microsoft.com \
    --cc=sthotton@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=vburru@marvell.com \
    --cc=viacheslavo@nvidia.com \
    --cc=xiao.w.wang@intel.com \
    --cc=xuanziyang2@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    --cc=yongwang@vmware.com \
    --cc=zhouguoyang@huawei.com \
    --cc=zr@semihalf.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).