[RFC,v3,4/4] app/testpmd: show the Rx/Tx burst mode description

Message ID 20190910163337.4843-5-haiyue.wang@intel.com
State New
Delegated to: Ferruh Yigit
Headers show
Series
  • get Rx/Tx packet burst mode information
Related show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Wang, Haiyue Sept. 10, 2019, 4:33 p.m.
Add the 'Burst mode' section into command 'show rxq|txq info <port_id>
<queue_id>' to show the Rx/Tx burst mode description like:
  "Burst mode: Vector AVX2 Scattered"

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
---
 app/test-pmd/config.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

Comments

Iremonger, Bernard Sept. 12, 2019, 4:07 p.m. | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Haiyue Wang
> Sent: Tuesday, September 10, 2019 5:34 PM
> To: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>; mdr@ashroe.eu; Sun,
> Chenmin <chenmin.sun@intel.com>
> Cc: Wang, Haiyue <haiyue.wang@intel.com>
> Subject: [dpdk-dev] [RFC v3 4/4] app/testpmd: show the Rx/Tx burst mode
> description
> 
> Add the 'Burst mode' section into command 'show rxq|txq info <port_id>
> <queue_id>' to show the Rx/Tx burst mode description like:
>   "Burst mode: Vector AVX2 Scattered"
> 
> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>

Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>

Patch

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 1a5a5c13c..d10ad6cfa 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -324,9 +324,21 @@  nic_stats_mapping_display(portid_t port_id)
 	       nic_stats_mapping_border, nic_stats_mapping_border);
 }
 
+static void
+burst_mode_options_display(uint64_t options)
+{
+	uint64_t opt;
+
+	for (opt = 1; options != 0; opt <<= 1, options >>= 1) {
+		if (options & 1)
+			printf(" %s", rte_eth_burst_mode_option_name(opt));
+	}
+}
+
 void
 rx_queue_infos_display(portid_t port_id, uint16_t queue_id)
 {
+	struct rte_eth_burst_mode mode;
 	struct rte_eth_rxq_info qinfo;
 	int32_t rc;
 	static const char *info_border = "*********************";
@@ -354,12 +366,19 @@  rx_queue_infos_display(portid_t port_id, uint16_t queue_id)
 	printf("\nRX scattered packets: %s",
 		(qinfo.scattered_rx != 0) ? "on" : "off");
 	printf("\nNumber of RXDs: %hu", qinfo.nb_desc);
+
+	if (rte_eth_rx_burst_mode_get(port_id, queue_id, &mode) == 0) {
+		printf("\nBurst mode:");
+		burst_mode_options_display(mode.options);
+	}
+
 	printf("\n");
 }
 
 void
 tx_queue_infos_display(portid_t port_id, uint16_t queue_id)
 {
+	struct rte_eth_burst_mode mode;
 	struct rte_eth_txq_info qinfo;
 	int32_t rc;
 	static const char *info_border = "*********************";
@@ -383,6 +402,12 @@  tx_queue_infos_display(portid_t port_id, uint16_t queue_id)
 	printf("\nTX deferred start: %s",
 		(qinfo.conf.tx_deferred_start != 0) ? "on" : "off");
 	printf("\nNumber of TXDs: %hu", qinfo.nb_desc);
+
+	if (rte_eth_tx_burst_mode_get(port_id, queue_id, &mode) == 0) {
+		printf("\nBurst mode:");
+		burst_mode_options_display(mode.options);
+	}
+
 	printf("\n");
 }