Regards
Sunil Kumar Kori
>-----Original Message-----
>From: dev <[email protected]> On Behalf Of Anoob Joseph
>Sent: Monday, June 3, 2019 10:20 PM
>To: Jerin Jacob Kollanukkaran <[email protected]>; Nikhil Rao
><[email protected]>; Erik Gabriel Carrillo <[email protected]>;
>Abhinandan Gujjar <[email protected]>; Bruce Richardson
><[email protected]>; Pablo de Lara
><[email protected]>
>Cc: Narayana Prasad Raju Athreya <[email protected]>; [email protected];
>Lukas Bartosik <[email protected]>; Pavan Nikhilesh Bhagavatula
><[email protected]>; Hemant Agrawal
><[email protected]>; Nipun Gupta <[email protected]>; Harry
>van Haaren <[email protected]>; Mattias Rönnblom
><[email protected]>; Liang Ma <[email protected]>; Anoob
>Joseph <[email protected]>
>Subject: [EXT] [dpdk-dev] [PATCH 26/39] eventdev: add default conf for event
>devs field in conf
>
>External Email
>
>----------------------------------------------------------------------
>Generate a default conf for event devs, if it's not specified in the conf. This
>routine will check the available event devices and it's properties and sets the
>conf accordingly.
>
>Signed-off-by: Anoob Joseph <[email protected]>
>Signed-off-by: Lukasz Bartosik <[email protected]>
>---
> lib/librte_eventdev/rte_eventmode_helper.c | 67
>++++++++++++++++++++++++++++++
> 1 file changed, 67 insertions(+)
>
>diff --git a/lib/librte_eventdev/rte_eventmode_helper.c
>b/lib/librte_eventdev/rte_eventmode_helper.c
>index 4dbb94a..1729561 100644
>--- a/lib/librte_eventdev/rte_eventmode_helper.c
>+++ b/lib/librte_eventdev/rte_eventmode_helper.c
>@@ -179,6 +179,63 @@ rte_eventmode_validate_user_params(struct
>eventmode_conf *em_conf) }
>
> static int
>+rte_eventmode_helper_set_default_conf_eventdev(struct eventmode_conf
>+*em_conf) {
>+ int i, ret;
>+ int nb_eventdev;
>+ struct eventdev_params *eventdev_config;
>+ struct rte_event_dev_info dev_info;
>+
>+ /* Get the number of event devices */
>+ nb_eventdev = rte_event_dev_count();
>+
>+ if (nb_eventdev == 0) {
>+ RTE_EM_HLPR_LOG_ERR("No event devices detected");
>+ return -1;
>+ }
>+
>+ for (i = 0; i < nb_eventdev; i++) {
>+
>+ /* Get the event dev conf */
>+ eventdev_config = &(em_conf->eventdev_config[i]);
>+
>+ /* Read event device info */
>+ ret = rte_event_dev_info_get(i, &dev_info);
>+
>+ if (ret < 0) {
>+ RTE_EM_HLPR_LOG_ERR(
>+ "Failed reading event device info (err:%d)",
>+ ret);
>+ return ret;
>+ }
>+
>+ /* Check if enough ports are available */
>+ if (dev_info.max_event_ports < 2) {
>+ RTE_EM_HLPR_LOG_ERR("Not enough ports
>available");
"Not Enough event ports available" instead of "Not enough ports available".
Otherwise it looks confusing with eth ports.
>+ return -1;
>+ }
>+
>+ /* Save number of queues & ports available */
>+ eventdev_config->eventdev_id = i;
>+ eventdev_config->nb_eventqueue =
>dev_info.max_event_queues;
>+ eventdev_config->nb_eventport = dev_info.max_event_ports;
>+ eventdev_config->ev_queue_mode =
>+ RTE_EVENT_QUEUE_CFG_SINGLE_LINK;
>+
>+ /* One port is required for eth Rx adapter */
>+ eventdev_config->nb_eventport -= 1;
>+
>+ /* One port is reserved for eth Tx adapter */
>+ eventdev_config->nb_eventport -= 1;
>+
>+ /* Update the number of eventdevs */
>+ em_conf->nb_eventdev++;
>+ }
>+
>+ return 0;
>+}
>+
>+static int
> rte_eventmode_helper_validate_conf(struct eventmode_conf *em_conf) {
> int ret;
>@@ -188,6 +245,16 @@ rte_eventmode_helper_validate_conf(struct
>eventmode_conf *em_conf)
> if (ret != 0)
> return ret;
>
>+ /*
>+ * See if event devs are specified. Else probe the event devices
>+ * and initialize the conf with all ports & queues available
>+ */
>+ if (em_conf->nb_eventdev == 0) {
>+ ret =
>rte_eventmode_helper_set_default_conf_eventdev(em_conf);
>+ if (ret != 0)
>+ return ret;
>+ }
>+
> return 0;
> }
>
>--
>2.7.4