[dpdk-dev] [RFC V4] app/testpmd: fix queue stats mapping configuration

Stephen Hemminger stephen at networkplumber.org
Sat Nov 21 05:29:28 CET 2020


On Fri, 20 Nov 2020 23:33:40 +0000
Ferruh Yigit <ferruh.yigit at 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.yigit at intel.com> wrote:
> >   
> >> On 11/20/2020 11:50 AM, Min Hu (Connor) wrote:  
> >>> From: Huisong Li <lihuisong at 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 <lihuisong at 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.


More information about the dev mailing list