DPDK usage discussions
 help / color / mirror / Atom feed
From: "Wu, Jianyue (NSB - CN/Hangzhou)" <jianyue.wu@nokia-sbell.com>
To: "Li, Xiaoyun" <xiaoyun.li@intel.com>,
	"users@dpdk.org" <users@dpdk.org>,
	"wei.dai@intel.com" <wei.dai@intel.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>
Subject: Re: [dpdk-users] How can we enable runtime tx queue setup in XEON X552 eth device?
Date: Thu, 29 Apr 2021 09:49:00 +0000	[thread overview]
Message-ID: <949891d7aa72413c8a3ef15e24206b72@nokia-sbell.com> (raw)
In-Reply-To: <DM4PR11MB55342336A7C742D8626CD753995F9@DM4PR11MB5534.namprd11.prod.outlook.com>

Hello, Xiaoyun,

Thanks indeed for the advice, and so fast reply, will check these implementation like i40e_dev_tx_queue_setup_runtime() in i40e, to see how to use it in ixgbe😊

Best Regards,
Dave(Jianyue)

From: Li, Xiaoyun <xiaoyun.li@intel.com>
Sent: 2021年4月29日 17:17
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com>; users@dpdk.org; wei.dai@intel.com; Zhang, Qi Z <qi.z.zhang@intel.com>
Subject: RE: How can we enable runtime tx queue setup in XEON X552 eth device?

Hi

You probably can do runtime tx/rx queue for ixgbe vf too.
And you’re right, you need to add RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP | RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP for dev_capa.

And the most important thing is you need to do something like i40e_dev_rx_queue_setup_runtime() for i40e.
This function does some queue configuration check and the most important thing queue_init. Because queue_init is in dev_start, so runtime queue needs extra queue_init first.
And don’t forget that the first queue needs to set rx_funtion.

Anyway, you need to do similar things (i40e_dev_rx/tx_queue_setup_runtime) for ixgbevf.

I don’t see anything else you need to be careful about but not 100% sure.

BRs
Xiaoyun

From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: Thursday, April 29, 2021 16:44
To: Li, Xiaoyun <xiaoyun.li@intel.com<mailto:xiaoyun.li@intel.com>>; users@dpdk.org<mailto:users@dpdk.org>; wei.dai@intel.com<mailto:wei.dai@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com<mailto:qi.z.zhang@intel.com>>
Subject: RE: How can we enable runtime tx queue setup in XEON X552 eth device?

Hello,

Add more experts.

Best Regards,
Dave(Jianyue)

From: Wu, Jianyue (NSB - CN/Hangzhou)
Sent: 2021年4月29日 16:40
To: 'Li, Xiaoyun' <xiaoyun.li@intel.com<mailto:xiaoyun.li@intel.com>>; users@dpdk.org<mailto:users@dpdk.org>
Subject: RE: How can we enable runtime tx queue setup in XEON X552 eth device?

Hello,

How can we do it like this? Thanks😊
https://doc.dpdk.org/dts/test_plans/dynamic_queue_test_plan.html#:~:text=Dynamic%20queue%20%C2%B6%20Currently%2C%20to%20configure%20a%20DPDK,the%20device%2C%20at%20this%20point%20traffic%20can%20flow.

Dynamic queue lets etherdev driver exposes the capability flag through rte_eth_dev_info_get when it supports deferred queue configuraiton, then base on this flag, rte_eth_[rx|tx]_queue_setup could decide to continue to setup the queue or just return fail when device already started.
rte_eth_dev_info_get->dev_info_get for X552 VF didn’t set flag of RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP.

Best Regards,
Dave(Jianyue)

From: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>
Sent: 2021年4月29日 16:23
To: Wu, Jianyue (NSB - CN/Hangzhou) <jianyue.wu@nokia-sbell.com<mailto:jianyue.wu@nokia-sbell.com>>; users@dpdk.org<mailto:users@dpdk.org>
Subject: How can we enable runtime tx queue setup in XEON X552 eth device?

Hello,

How can we enable runtime tx queue setup in XEON X552 eth device? Thanks indeed!
Now try to add queue in runtime in X552 VF, error will be reported.
“rte_eth_tx_quuee_setup: err=-16, port = 1”
Here -16 means EBUSY, because the eth device is already started, if configure this interface before start, it is fine.

If I try to add dev_capa in ixgbevf_dev_info_get() in DPDK code, then another error will be reported.
“Ethdev port_id=0 tx_queue_id=1, new added offloads 0x4000 must be within per-queue offload capabilities 0x0 in rte_eth_tx_queue_setup()”

While in X552 datasheet, it says it is supported.

In DPDK i40e driver, seems runtime tx queue setup is supported(setup TxQ when eth interface is running)
drivers/net/i40e/i40e_ethdev.c
                dev_info->dev_capa =
                                RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
                                RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;

Best Regards,
Dave(Jianyue)


      reply	other threads:[~2021-04-29  9:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <99e1f0df930b416c9a5c701bd00c3804@nokia-sbell.com>
2021-04-29  8:22 ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-04-29  8:39   ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-04-29  8:43     ` Wu, Jianyue (NSB - CN/Hangzhou)
2021-04-29  9:16       ` Li, Xiaoyun
2021-04-29  9:49         ` Wu, Jianyue (NSB - CN/Hangzhou) [this message]

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=949891d7aa72413c8a3ef15e24206b72@nokia-sbell.com \
    --to=jianyue.wu@nokia-sbell.com \
    --cc=qi.z.zhang@intel.com \
    --cc=users@dpdk.org \
    --cc=wei.dai@intel.com \
    --cc=xiaoyun.li@intel.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).