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.