DPDK patches and discussions
 help / color / mirror / Atom feed
From: "humin (Q)" <humin29@huawei.com>
To: <dev@dpdk.org>, <ferruh.yigit@intel.com>,
	Linuxarm <linuxarm@huawei.com>,  <bruce.richardson@intel.com>,
	"liudongdong (C)" <liudongdong3@huawei.com>,
	"Zhouchang (Forest)" <forest.zhouchang@huawei.com>,
	"lihuisong (C)" <lihuisong@huawei.com>,
	"Huwei (Xavier)" <huwei87@hisilicon.com>
Subject: Re: [dpdk-dev] [RFC]lib/ethdev: fix data type in tc_rxq and tc_txq
Date: Tue, 18 Aug 2020 09:43:24 +0800
Message-ID: <35618c10-5c99-110d-6857-52ad581fcd43@huawei.com> (raw)
In-Reply-To: <e3eb86f3-dc24-fbd0-974e-d9b107f5f29a@huawei.com>

Dear all:
Are there any suggestions for this patch?

在 2020/8/7 20:33, humin (Q) 写道:
> Currently, base and nb_queue in the tc_rxq and tc_txq information
> of queue and TC mapping on both TX and RX paths are uint8_t.
> The structure is as follows:
> struct rte_eth_dcb_tc_queue_mapping {
>      /** rx queues assigned to tc per Pool */
>      struct {
>          uint8_t base;
>          uint8_t nb_queue;
>      } tc_rxq[ETH_MAX_VMDQ_POOL][ETH_DCB_NUM_TCS];
>      /** rx queues assigned to tc per Pool */
>      struct {
>          uint8_t base;
>          uint8_t nb_queue;
>      } tc_txq[ETH_MAX_VMDQ_POOL][ETH_DCB_NUM_TCS];
> };
> However, these datas will be truncated when queue number under a TC
> is greater than 256. So it is necessay for data type of base and
> nb_queue to change from uint8_t to uint16_t.
> [RFC]lib/ethdev: fix rx/tx queue stats mapping API
> Currently, only statistics of rx/tx queues with queue_id less than
> RTE_ETHDEV_QUEUE_STAT_CNTRS can be displayed. If there is a certain
> application scenario that it needs to use 256 or more than 256 queues
> and display all statistics of rx/tx queue. At this moment, we have to
> change the macro to be equaled to the queue number.
> However, modifying the macro to be greater than 256 will trigger
> many errors and warnings from test-pmd, PMD driver and librte_ethdev
> during compiling dpdk project. But it is possible and permited that
> rx/tx queue number is greater than 256 and all statistics of rx/tx
> queue need to be displayed. In addition, the data type of rx/tx queue
> number in rte_eth_dev_configure API is 'uint16_t'. So It is unreasonable
> to use the 'uint8_t' type for variables that control which per-queue
> statistics can be displayed.
> In these modifications, related API in /lib/librte_ethdev/rte_ethdev.c
> is as follows:
> static int
> -set_queue_stats_mapping(uint16_t port_id, uint16_t queue_id, uint8_t 
> stat_idx,
> +set_queue_stats_mapping(uint16_t port_id, uint16_t queue_id, uint16_t 
> stat_idx,
>                  uint8_t is_rx)
> int
>   rte_eth_dev_set_tx_queue_stats_mapping(uint16_t port_id, uint16_t 
> tx_queue_id,
> -               uint8_t stat_idx)
> +               uint16_t stat_idx)
> int
>   rte_eth_dev_set_rx_queue_stats_mapping(uint16_t port_id, uint16_t 
> rx_queue_id,
> -               uint8_t stat_idx)
> +               uint16_t stat_idx)

  reply	other threads:[~2020-08-18  1:43 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-07 12:33 humin (Q)
2020-08-18  1:43 ` humin (Q) [this message]
2020-08-08  1:09 humin (Q)

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:

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

  git send-email \
    --in-reply-to=35618c10-5c99-110d-6857-52ad581fcd43@huawei.com \
    --to=humin29@huawei.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=forest.zhouchang@huawei.com \
    --cc=huwei87@hisilicon.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=lihuisong@huawei.com \
    --cc=linuxarm@huawei.com \
    --cc=liudongdong3@huawei.com \


* 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 \
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:

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