[v1,4/4] app/testpmd: show the Rx/Tx burst mode description
Checks
Commit Message
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>
---
app/test-pmd/config.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
Comments
On 09/26, Haiyue Wang wrote:
>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>
>---
> app/test-pmd/config.c | 29 +++++++++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
>diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
>index 957c61fbe..ada89a19d 100644
>--- a/app/test-pmd/config.c
>+++ b/app/test-pmd/config.c
>@@ -330,9 +330,25 @@ 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)
>+{
>+ int offset;
>+
>+ while (options != 0) {
>+ offset = rte_bsf64(options);
>+
>+ printf(" %s",
>+ rte_eth_burst_mode_option_name(1ULL << offset));
>+
>+ options &= ~(1ULL << offset);
>+ }
>+}
>+
> 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 = "*********************";
>@@ -360,12 +376,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 = "*********************";
>@@ -389,6 +412,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");
> }
>
>--
>2.17.1
>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
@@ -330,9 +330,25 @@ 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)
+{
+ int offset;
+
+ while (options != 0) {
+ offset = rte_bsf64(options);
+
+ printf(" %s",
+ rte_eth_burst_mode_option_name(1ULL << offset));
+
+ options &= ~(1ULL << offset);
+ }
+}
+
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 = "*********************";
@@ -360,12 +376,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 = "*********************";
@@ -389,6 +412,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");
}