app/eventdev: validate producer type used

Message ID 20200402193808.6978-1-pvnnikhilesh@gmail.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series app/eventdev: validate producer type used |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK
ci/iol-testing success Testing PASS

Commit Message

Pavan Nikhilesh April 2, 2020, 7:38 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Validate the producer type used for pipeline and order test suites.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 app/test-eventdev/evt_options.h          | 16 ++++++++++++++++
 app/test-eventdev/test_order_common.c    |  6 ++++--
 app/test-eventdev/test_pipeline_common.c |  7 +++++++
 3 files changed, 27 insertions(+), 2 deletions(-)

--
2.17.1
  

Comments

Jerin Jacob April 4, 2020, 3:11 p.m. UTC | #1
On Fri, Apr 3, 2020 at 1:08 AM Pavan Nikhilesh <pvnnikhilesh@gmail.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Validate the producer type used for pipeline and order test suites.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Applied to dpdk-next-eventdev/master. Thanks.


> ---
>  app/test-eventdev/evt_options.h          | 16 ++++++++++++++++
>  app/test-eventdev/test_order_common.c    |  6 ++++--
>  app/test-eventdev/test_pipeline_common.c |  7 +++++++
>  3 files changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/app/test-eventdev/evt_options.h b/app/test-eventdev/evt_options.h
> index cb1d3760d..748e54fae 100644
> --- a/app/test-eventdev/evt_options.h
> +++ b/app/test-eventdev/evt_options.h
> @@ -232,6 +232,22 @@ evt_dump_sched_type_list(struct evt_options *opt)
>         evt_dump_end;
>  }
>
> +static inline const char *
> +evt_prod_id_to_name(enum evt_prod_type prod_type)
> +{
> +       switch (prod_type) {
> +       default:
> +       case EVT_PROD_TYPE_SYNT:
> +               return "Synthetic producer lcores";
> +       case EVT_PROD_TYPE_ETH_RX_ADPTR:
> +               return "Ethdev Rx Adapter";
> +       case EVT_PROD_TYPE_EVENT_TIMER_ADPTR:
> +               return "Event timer adapter";
> +       }
> +
> +       return "";
> +}
> +
>  #define EVT_PROD_MAX_NAME_LEN 50
>  static inline void
>  evt_dump_producer_type(struct evt_options *opt)
> diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c
> index 252e4a14c..4190f9ade 100644
> --- a/app/test-eventdev/test_order_common.c
> +++ b/app/test-eventdev/test_order_common.c
> @@ -68,8 +68,10 @@ int
>  order_opt_check(struct evt_options *opt)
>  {
>         if (opt->prod_type != EVT_PROD_TYPE_SYNT) {
> -               evt_err("Invalid producer type");
> -               return -EINVAL;
> +               evt_err("Invalid producer type '%s' valid producer '%s'",
> +                       evt_prod_id_to_name(opt->prod_type),
> +                       evt_prod_id_to_name(EVT_PROD_TYPE_SYNT));
> +               return -1;
>         }
>
>         /* 1 producer + N workers + 1 master */
> diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c
> index fa91bf229..84c42b33c 100644
> --- a/app/test-eventdev/test_pipeline_common.c
> +++ b/app/test-eventdev/test_pipeline_common.c
> @@ -111,6 +111,13 @@ pipeline_opt_check(struct evt_options *opt, uint64_t nb_queues)
>          */
>         lcores = 2;
>
> +       if (opt->prod_type != EVT_PROD_TYPE_ETH_RX_ADPTR) {
> +               evt_err("Invalid producer type '%s' valid producer '%s'",
> +                       evt_prod_id_to_name(opt->prod_type),
> +                       evt_prod_id_to_name(EVT_PROD_TYPE_ETH_RX_ADPTR));
> +               return -1;
> +       }
> +
>         if (!rte_eth_dev_count_avail()) {
>                 evt_err("test needs minimum 1 ethernet dev");
>                 return -1;
> --
> 2.17.1
>
  

Patch

diff --git a/app/test-eventdev/evt_options.h b/app/test-eventdev/evt_options.h
index cb1d3760d..748e54fae 100644
--- a/app/test-eventdev/evt_options.h
+++ b/app/test-eventdev/evt_options.h
@@ -232,6 +232,22 @@  evt_dump_sched_type_list(struct evt_options *opt)
 	evt_dump_end;
 }

+static inline const char *
+evt_prod_id_to_name(enum evt_prod_type prod_type)
+{
+	switch (prod_type) {
+	default:
+	case EVT_PROD_TYPE_SYNT:
+		return "Synthetic producer lcores";
+	case EVT_PROD_TYPE_ETH_RX_ADPTR:
+		return "Ethdev Rx Adapter";
+	case EVT_PROD_TYPE_EVENT_TIMER_ADPTR:
+		return "Event timer adapter";
+	}
+
+	return "";
+}
+
 #define EVT_PROD_MAX_NAME_LEN 50
 static inline void
 evt_dump_producer_type(struct evt_options *opt)
diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c
index 252e4a14c..4190f9ade 100644
--- a/app/test-eventdev/test_order_common.c
+++ b/app/test-eventdev/test_order_common.c
@@ -68,8 +68,10 @@  int
 order_opt_check(struct evt_options *opt)
 {
 	if (opt->prod_type != EVT_PROD_TYPE_SYNT) {
-		evt_err("Invalid producer type");
-		return -EINVAL;
+		evt_err("Invalid producer type '%s' valid producer '%s'",
+			evt_prod_id_to_name(opt->prod_type),
+			evt_prod_id_to_name(EVT_PROD_TYPE_SYNT));
+		return -1;
 	}

 	/* 1 producer + N workers + 1 master */
diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c
index fa91bf229..84c42b33c 100644
--- a/app/test-eventdev/test_pipeline_common.c
+++ b/app/test-eventdev/test_pipeline_common.c
@@ -111,6 +111,13 @@  pipeline_opt_check(struct evt_options *opt, uint64_t nb_queues)
 	 */
 	lcores = 2;

+	if (opt->prod_type != EVT_PROD_TYPE_ETH_RX_ADPTR) {
+		evt_err("Invalid producer type '%s' valid producer '%s'",
+			evt_prod_id_to_name(opt->prod_type),
+			evt_prod_id_to_name(EVT_PROD_TYPE_ETH_RX_ADPTR));
+		return -1;
+	}
+
 	if (!rte_eth_dev_count_avail()) {
 		evt_err("test needs minimum 1 ethernet dev");
 		return -1;