DPDK patches and discussions
 help / color / mirror / Atom feed
From: Matan Azrad <matan@nvidia.com>
To: Chengchang Tang <tangchengchang@huawei.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "maryam.tahhan@intel.com" <maryam.tahhan@intel.com>,
	"linuxarm@huawei.com" <linuxarm@huawei.com>,
	"ferruh.yigit@intel.com" <ferruh.yigit@intel.com>,
	 "wenzhuo.lu@intel.com" <wenzhuo.lu@intel.com>,
	NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
	"arybchenko@solarflare.com" <arybchenko@solarflare.com>
Subject: Re: [dpdk-dev] [PATCH v3 1/4] ethdev: add a field for rxq info structure
Date: Mon, 7 Sep 2020 13:02:12 +0000
Message-ID: <MW2PR12MB24923C460DD5E608931B5C28DF280@MW2PR12MB2492.namprd12.prod.outlook.com> (raw)
In-Reply-To: <5defff09-c8f8-a8f4-b137-0c62ebff2710@huawei.com>


Hi Chengchang
From: Chengchang Tang:
> Hi Matan
> 
> On 2020/9/7 16:28, Matan Azrad wrote:
> >
> > Hi Chengchang
> >
> > From: Chengchang Tang:
> >> Hi Matan
> >>
> >> On 2020/9/6 21:45, Matan Azrad wrote:
> >>>
> >>> Hi  Chengchang
> >>>
> >>> From: Chengchang Tang:
> >>>> Hi, Matan
> >>>>
> >>>> On 2020/9/2 18:30, Matan Azrad wrote:
> >>>>> Hi Chengchang
> >>>>>
> >>>>> From: Chengchang Tang
> >>>>>> Hi, Matan
> >>>>>>
> >>>>>> On 2020/9/2 15:19, Matan Azrad wrote:
> >>>>>>>
> >>>>>>> Hi Chengchang
> >>>>>>>
> >>>>>>> From: Chengchang Tang
> >>>>>>>> Hi, Matan
> >>>>>>>>
> >>>>>>>> On 2020/9/1 23:33, Matan Azrad wrote:
> >>>>>>>>>
> >>>>>>>>> Hi Chengchang
> >>>>>>>>>
> >>>>>>>>> Please see some question below.
> >>>>>>>>>
> >>>>>>>>> From: Chengchang Tang
> >>>>>>>>>> Add a field named rx_buf_size in rte_eth_rxq_info to indicate
> >>>>>>>>>> the buffer size used in receiving packets for HW.
> >>>>>>>>>>
> >>>>>>>>>> In this way, upper-layer users can get this information by
> >>>>>>>>>> calling rte_eth_rx_queue_info_get.
> >>>>>>>>>>
> >>>>>>>>>> Signed-off-by: Chengchang Tang
> >> <tangchengchang@huawei.com>
> >>>>>>>>>> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> >>>>>>>>>> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> >>>>>>>>>> ---
> >>>>>>>>>>  lib/librte_ethdev/rte_ethdev.h | 2 ++
> >>>>>>>>>>  1 file changed, 2 insertions(+)
> >>>>>>>>>>
> > <snip>
> >>>>> So the user can configure X and the driver will use Y!=X?
> >>>>
> >>>> Yes, it depends on the HW. In the queue setup API, it just checks
> >>>> whether the input is greater than the required minimum value. But
> >>>> HW usually has requirements for alignment and so on.
> >>>> So when X does not meet these requirements, PMDs will calculate a
> >>>> new value Y that meets these requirements to configure the hardware
> >>>> (Y <= X, to ensure no memory overflow occurs).
> >>>>> Should the application validate its own configurations after
> >>>>> setting them
> >>>> successfully?
> >>>>
> >>>> It depends on their own needs. The application should not be forced
> >>>> to verify it to avoid affecting the ease of use of PMDs. For some
> >>>> applications, they don't care about this value.
> >>>
> >>> I understand,
> >>> It looks me like a bad ping-pong between app and PMD (for all the
> >>> fields in the struct), And we should avoid adding fields to this
> >>> structure if
> >> we can.
> >>>
> >>> What's about adding field in rte_eth_dev_info to expose the rx
> >>> buffer
> >> alignment supported by the PMD?
> >>> Then, application has all the knowledge you want to expose before
> >>> the
> >> configuration.
> >>
> >> This may not work because there may be other restrictions besides
> >> alignment, which are related to the hardware design. Therefore, it is
> >> difficult to describe all constraints in a single field.
> >> Moreover, this approach seems to
> >> constrain the PMDs and HW to some extent.
> >
> > Ok, so maybe other ethdev capability API to get the Rx buffer size
> adjustment by the PMD?
> > Don't you think it is important information to the application in order to
> decide the mempool buffer size \ enabling scatter?
> 
> I guess what you mean is that it's more like a capability, so the application
> should query it through a capability API.

Yes.

> If i understand correctly, I agree with that. But I think it's okay to use this
> structure to export queue related information at runtime. It focuses on
> querying the current queue configuration.

Why do we need it If the capability(suggested above) say it already? 

> And there seems to be no suitable API for querying this capability. Maybe we
> need to introduce a new API to do this. But I'm not sure if it's really
> necessary.
 
For example if the user use room of size X in the RX mempool and the PMD configures X/2 because of HW limitation:
Don't you think it will affect the user configuration of mempool and scatter mode?

> > In any case, I think you should add documentation in the RX setup API that
> the HW buf size may be changed by the PMD.
> 
> There is not a defined rule of how to configure Rx buffer size. That is, there is
> no specific method to configure the Rx buffer size for applications. However,
> most PMDs configure the Rx buffer size base on the data size of the
> mempool. So, if the description is added to the setup API, the method for
> configuring the Rx buffer size is determined. I think this issue should involve
> more people in the discussion, maybe we should send a separate patch.

The mempool parameter of RX say it exactly, no?


> > <snip>
> >
> > .
> >


  reply	other threads:[~2020-09-07 13:02 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-18 12:35 [dpdk-dev] [RFC] ethdev: add a field for rte_eth_rxq_info Chengchang Tang
2020-08-26  1:57 ` [dpdk-dev] [PATCH 0/3] add RX buffer size " Chengchang Tang
2020-08-26  1:57   ` [dpdk-dev] [PATCH 1/3] ethdev: add a field " Chengchang Tang
2020-08-26  1:57   ` [dpdk-dev] [PATCH 2/3] app/testpmd: Add RX buffer size display in queue info querry Chengchang Tang
2020-08-26  1:57   ` [dpdk-dev] [PATCH 3/3] net/hns3: add RX buffer size to rx qinfo querry Chengchang Tang
2020-08-26  7:12 ` [dpdk-dev] [PATCH v2 0/3] add Rx buffer size for rxq info structure Chengchang Tang
2020-08-26  7:12   ` [dpdk-dev] [PATCH v2 1/3] ethdev: add a field " Chengchang Tang
2020-08-26  7:29     ` Wei Hu (Xavier)
2020-08-26  7:12   ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: add Rx buffer size display in queue info query Chengchang Tang
2020-08-26  7:28     ` Wei Hu (Xavier)
2020-08-26 14:42     ` Stephen Hemminger
2020-08-29  6:48       ` Chengchang Tang
2020-08-26  7:12   ` [dpdk-dev] [PATCH v2 3/3] net/hns3: add Rx buffer size to Rx qinfo query Chengchang Tang
2020-08-26  7:20     ` Wei Hu (Xavier)
2020-08-29  7:13 ` [dpdk-dev] [PATCH v3 0/4] add Rx buffer size for rxq info structure Chengchang Tang
2020-08-29  7:13   ` [dpdk-dev] [PATCH v3 1/4] ethdev: add a field " Chengchang Tang
2020-09-01 15:33     ` Matan Azrad
2020-09-02  3:52       ` Chengchang Tang
2020-09-02  7:19         ` Matan Azrad
2020-09-02 10:01           ` Chengchang Tang
2020-09-02 10:30             ` Matan Azrad
2020-09-03  1:48               ` Chengchang Tang
2020-09-06 13:45                 ` Matan Azrad
2020-09-07  7:47                   ` Chengchang Tang
2020-09-07  8:28                     ` Matan Azrad
2020-09-07 12:06                       ` Chengchang Tang
2020-09-07 13:02                         ` Matan Azrad [this message]
2020-09-03 15:00           ` Ferruh Yigit
2020-09-03 14:55         ` Ferruh Yigit
2020-09-03 15:01     ` Ferruh Yigit
2020-09-04  1:43       ` Chengchang Tang
2020-09-03 15:35     ` Bruce Richardson
2020-09-04 14:25       ` Ferruh Yigit
2020-09-04 15:14         ` Bruce Richardson
2020-09-04 15:30         ` Bruce Richardson
2020-08-29  7:13   ` [dpdk-dev] [PATCH v3 2/4] app/testpmd: add Rx buffer size display in queue info query Chengchang Tang
2020-08-29  7:13   ` [dpdk-dev] [PATCH v3 3/4] app/procinfo: add Rx buffer size to --show-port Chengchang Tang
2020-08-29  7:13   ` [dpdk-dev] [PATCH v3 4/4] net/hns3: add Rx buffer size to Rx qinfo query Chengchang Tang
2020-09-05  9:07 ` [dpdk-dev] [PATCH v4 0/5] add Rx buffer size for rxq info structure Chengchang Tang
2020-09-05  9:07   ` [dpdk-dev] [PATCH v4 1/5] ethdev: add a field " Chengchang Tang
2020-09-05 16:50     ` Stephen Hemminger
2020-09-05  9:07   ` [dpdk-dev] [PATCH v4 2/5] app/testpmd: add Rx buffer size display in queue info query Chengchang Tang
2020-09-18  8:54     ` Ferruh Yigit
2020-09-20  8:47       ` Chengchang Tang
2020-09-05  9:07   ` [dpdk-dev] [PATCH v4 3/5] app/procinfo: add Rx buffer size to --show-port Chengchang Tang
2020-09-05 16:59     ` Stephen Hemminger
2020-09-07  9:14       ` Chengchang Tang
2020-09-18 22:11         ` Stephen Hemminger
2020-09-21  2:06           ` Chengchang Tang
2020-09-21 11:26             ` Ferruh Yigit
2020-09-05  9:07   ` [dpdk-dev] [PATCH v4 4/5] net/hns3: add Rx buffer size to Rx qinfo query Chengchang Tang
2020-09-05  9:07   ` [dpdk-dev] [PATCH v4 5/5] doc: remove rxq info structure deprecation notice Chengchang Tang
2020-09-05 16:33     ` Thomas Monjalon
2020-09-07  9:12       ` Chengchang Tang
2020-09-21 13:22 ` [dpdk-dev] [PATCH v5 0/2] add Rx buffer size for rxq info structure Chengchang Tang
2020-09-21 13:22   ` [dpdk-dev] [PATCH v5 1/2] ethdev: add a field " Chengchang Tang
2020-09-21 14:18     ` Ferruh Yigit
2020-09-21 13:22   ` [dpdk-dev] [PATCH v5 2/2] net/hns3: add Rx buffer size to Rx qinfo query Chengchang Tang
2020-09-21 14:19   ` [dpdk-dev] [PATCH v5 0/2] add Rx buffer size for rxq info structure 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=MW2PR12MB24923C460DD5E608931B5C28DF280@MW2PR12MB2492.namprd12.prod.outlook.com \
    --to=matan@nvidia.com \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=linuxarm@huawei.com \
    --cc=maryam.tahhan@intel.com \
    --cc=tangchengchang@huawei.com \
    --cc=thomas@monjalon.net \
    --cc=wenzhuo.lu@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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git