Hi, Ferruh, and all,
are there any comments about this set of patch?
在 2020/11/23 17:51, Ferruh Yigit 写道:
On 11/21/2020 4:29 AM, Stephen Hemminger wrote:
On Fri, 20 Nov 2020 23:33:40 +0000
Ferruh Yigit <ferruh.yi...@intel.com> wrote:
On 11/20/2020 11:21 PM, Stephen Hemminger wrote:
On Fri, 20 Nov 2020 17:26:55 +0000
Ferruh Yigit <ferruh.yi...@intel.com> wrote:
On 11/20/2020 11:50 AM, Min Hu (Connor) wrote:
From: Huisong Li <lihuis...@huawei.com>
Currently, the queue stats mapping has the following problems:
1) Many PMD drivers don't support queue stats mapping. But there
is no
failure message after executing the command "set stat_qmap rx
0 2 2".
2) Once queue mapping is set, unrelated and unmapped queues are also
displayed.
3) The configuration result does not take effect or can not be
queried
in real time.
4) The mapping arrays, "tx_queue_stats_mappings_array" &
"rx_queue_stats_mappings_array" are global and their sizes are
based on
fixed max port and queue size assumptions.
5) These record structures,
'map_port_queue_stats_mapping_registers()'
and its sub functions are redundant for majority of drivers.
6) The display of the queue stats and queue stats mapping is mixed
together.
Since xstats is used to obtain queue statistics, we have made the
following
simplifications and adjustments:
1) If PMD requires and supports queue stats mapping, configure to
driver in
real time by calling ethdev API after executing the command
"set stat_qmap rx/tx ...". If not, the command can not be
accepted.
2) Based on the above adjustments, these record structures,
'map_port_queue_stats_mapping_registers()' and its sub functions
can be
removed. "tx-queue-stats-mapping" & "rx-queue-stats-mapping"
parameters,
and 'parse_queue_stats_mapping_config()' can be removed too.
3) remove display of queue stats mapping in 'fwd_stats_display()' &
'nic_stats_display()', and obtain queue stats by xstats.
Since the record structures are removed,
'nic_stats_mapping_display()'
can be deleted.
Fixes: 4dccdc789bf4b ("app/testpmd: simplify handling of stats
mappings error")
Fixes: 013af9b6b64f6 ("app/testpmd: various updates")
Fixes: ed30d9b691b21 ("app/testpmd: add stats per queue")
Signed-off-by: Huisong Li <lihuis...@huawei.com>
Overall looks good to me.
I did a quick test didn't see anything unexpected. 'xstats' or
'dpdk-proc-info'
app still can be used to get queue stats and "set stat_qmap ..." is
working as
expected.
But it is a little late for this release cycle, would you be OK to
get this at
the beginning of next release?
Could we plan to deprecate queue stats mapping in future when xstats
work is done?
Even queue stats moved to xstats, a few PMDs still need this
configuration and API.
And this patch already cleans the queue stats mapping noise from
testpmd.
What is the benefit/motivation to deprecate the queue stats mapping API?
Mostly because so few drivers implement it, that any application using it
is going to be non-portable.
'rte_eth_dev_set_.*_queue_stats_mapping()' APIs return '-ENOTSUP' if
underlying PMD doesn't support it, applications can check this for
portable code.
.