[dpdk-dev] [PATCH V2 1/4] ethdev: fix compiling errors for per-queue statistics
Ferruh Yigit
ferruh.yigit at intel.com
Fri Sep 4 20:04:43 CEST 2020
On 9/4/2020 12:32 PM, Min Hu (Connor) wrote:
> From: Huisong Li <lihuisong at huawei.com>
>
> 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.
>
> Fixes: ed30d9b691b2 ("app/testpmd: add stats per queue")
> Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD")
> Fixes: abf7275bbaa2 ("ixgbe: move to drivers/net/")
> Fixes: e6defdfddc3b ("net/igc: enable statistics")
> Fixes: 2265e4b4e84b ("net/octeontx2: add basic stats operation")
> Fixes: 6c3169a3dc04 ("virtio: move to drivers/net/")
> Cc: stable at dpdk.org
>
> Signed-off-by: Huisong Li <lihuisong at huawei.com>
> Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
> Reviewed-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
> Reviewed-by: Dongdong Liu <liudongdong3 at huawei.com>
> ---
> app/proc-info/main.c | 2 +-
> app/test-pmd/cmdline.c | 2 +-
> app/test-pmd/config.c | 4 ++--
> app/test-pmd/testpmd.c | 2 +-
> app/test-pmd/testpmd.h | 5 +++--
> drivers/net/igc/igc_ethdev.c | 4 ++--
> drivers/net/ixgbe/ixgbe_ethdev.c | 4 ++--
> drivers/net/memif/rte_eth_memif.c | 2 +-
> drivers/net/octeontx2/otx2_ethdev.h | 2 +-
> drivers/net/octeontx2/otx2_stats.c | 2 +-
> drivers/net/virtio/virtio_ethdev.c | 4 ++--
> lib/librte_ethdev/rte_ethdev.c | 6 +++---
> lib/librte_ethdev/rte_ethdev.h | 4 ++--
> lib/librte_ethdev/rte_ethdev_core.h | 2 +-
> 14 files changed, 23 insertions(+), 22 deletions(-)
<...>
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index 0a6ed85..40b6b17 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -8244,7 +8244,7 @@ struct cmd_set_qmap_result {
> cmdline_fixed_string_t what;
> portid_t port_id;
> uint16_t queue_id;
> - uint8_t map_value;
> + uint16_t map_value;
> };
'cmd_setqmap_mapvalue' should be 'UINT16' instead of 'UINT8', or can't set
'map_value' >= 256 via "set stat_qmap ..." command.
More information about the dev
mailing list