Please doc this command in doc/guides/testpmd_app_ug/testpmd_funcs.rst Also why not extend "show port rxq xxx" command to support txq ?
On 2024/1/24 20:18, skotesh...@marvell.com wrote: > From: Satha Rao <skotesh...@marvell.com> > > Fastpath API to get txq used count. > > testpmd> show port 0 txq 0 desc count > > Signed-off-by: Satha Rao <skotesh...@marvell.com> > --- > app/test-pmd/cmdline.c | 78 > ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 78 insertions(+) > > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c > index f704319..1d09633 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -12638,6 +12638,83 @@ struct cmd_show_port_supported_ptypes_result { > }, > }; > > +/* *** display tx queue desc used count *** */ > +struct cmd_show_tx_queue_desc_count_result { > + cmdline_fixed_string_t cmd_show; > + cmdline_fixed_string_t cmd_port; > + cmdline_fixed_string_t cmd_txq; > + cmdline_fixed_string_t cmd_desc; > + cmdline_fixed_string_t cmd_count; > + portid_t cmd_pid; > + portid_t cmd_qid; > +}; > + > +static void > +cmd_show_tx_queue_desc_count_parsed(void *parsed_result, > + __rte_unused struct cmdline *cl, > + __rte_unused void *data) > +{ > + struct cmd_show_tx_queue_desc_count_result *res = parsed_result; > + int rc; > + > + if (rte_eth_tx_queue_is_valid(res->cmd_pid, res->cmd_qid) != 0) { > + fprintf(stderr, "Invalid input: port id = %d, queue id = %d\n", > res->cmd_pid, > + res->cmd_qid); > + return; > + } > + > + rc = rte_eth_tx_queue_count(res->cmd_pid, res->cmd_qid); > + if (rc < 0) { > + fprintf(stderr, "Tx queue count get failed rc=%d > queue_id=%d\n", rc, res->cmd_qid); > + return; > + } > + printf("TxQ %d used desc count = %d\n", res->cmd_qid, rc); > +} > + > +static cmdline_parse_token_string_t cmd_show_tx_queue_desc_count_show = > + TOKEN_STRING_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_show, "show"); > +static cmdline_parse_token_string_t cmd_show_tx_queue_desc_count_port = > + TOKEN_STRING_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_port, "port"); > +static cmdline_parse_token_num_t cmd_show_tx_queue_desc_count_pid = > + TOKEN_NUM_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_pid, RTE_UINT16); > +static cmdline_parse_token_string_t cmd_show_tx_queue_desc_count_txq = > + TOKEN_STRING_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_txq, "txq"); > +static cmdline_parse_token_num_t cmd_show_tx_queue_desc_count_qid = > + TOKEN_NUM_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_qid, RTE_UINT16); > +static cmdline_parse_token_string_t cmd_show_tx_queue_desc_count_desc = > + TOKEN_STRING_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_desc, "desc"); > +static cmdline_parse_token_string_t cmd_show_tx_queue_desc_count_count = > + TOKEN_STRING_INITIALIZER > + (struct cmd_show_tx_queue_desc_count_result, > + cmd_count, "count"); > +static cmdline_parse_inst_t cmd_show_tx_queue_desc_count = { > + .f = cmd_show_tx_queue_desc_count_parsed, > + .data = NULL, > + .help_str = "show port <port_id> txq <queue_id> desc count", > + .tokens = { > + (void *)&cmd_show_tx_queue_desc_count_show, > + (void *)&cmd_show_tx_queue_desc_count_port, > + (void *)&cmd_show_tx_queue_desc_count_pid, > + (void *)&cmd_show_tx_queue_desc_count_txq, > + (void *)&cmd_show_tx_queue_desc_count_qid, > + (void *)&cmd_show_tx_queue_desc_count_desc, > + (void *)&cmd_show_tx_queue_desc_count_count, > + NULL, > + }, > +}; > + > /* *** display rx/tx descriptor status *** */ > struct cmd_show_rx_tx_desc_status_result { > cmdline_fixed_string_t cmd_show; > @@ -13346,6 +13423,7 @@ struct cmd_config_tx_affinity_map { > (cmdline_parse_inst_t *)&cmd_show_tx_metadata, > (cmdline_parse_inst_t *)&cmd_show_rx_tx_desc_status, > (cmdline_parse_inst_t *)&cmd_show_rx_queue_desc_used_count, > + (cmdline_parse_inst_t *)&cmd_show_tx_queue_desc_count, > (cmdline_parse_inst_t *)&cmd_set_raw, > (cmdline_parse_inst_t *)&cmd_show_set_raw, > (cmdline_parse_inst_t *)&cmd_show_set_raw_all, >