在 2020/11/21 12:29, Stephen Hemminger 写道:
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.
Hi, Stephen,
For PMDs with few hardware queue statistics resources, such as
ixgbe, all queue stats are recorded in statistics register 0 by default.
If users want to get detailed queue stats, users have to call the queue
stats mapping API. From this point of view, it is necessary for these
PMDs.