From: "humin (Q)" <humin29@huawei.com>
To: <dev@dpdk.org>, <ferruh.yigit@intel.com>,
Linuxarm <linuxarm@huawei.com>, <bruce.richardson@intel.com>,
<jerin.jacob@caviumnetworks.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 [thread overview]
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)
next prev parent 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:
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=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 \
/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).