> From: Pavan Nikhilesh [mailto:pbhagavat...@caviumnetworks.com]
<snip>
> Add service core configuration for Rx adapter. The configuration picks
> the least used service core to run the service on.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com>
> ---
>  app/test-eventdev/evt_common.h       | 41 ++++++++++++++++-----------------
> ---
>  app/test-eventdev/test_perf_atq.c    | 12 +++++++----
>  app/test-eventdev/test_perf_common.c | 13 ++++++++++++
>  app/test-eventdev/test_perf_queue.c  | 12 +++++++----
>  4 files changed, 47 insertions(+), 31 deletions(-)
> 
> diff --git a/app/test-eventdev/evt_common.h b/app/test-eventdev/evt_common.h
> index 0fadab4a0..042823a52 100644
> --- a/app/test-eventdev/evt_common.h
> +++ b/app/test-eventdev/evt_common.h
> @@ -94,41 +94,36 @@ evt_has_all_types_queue(uint8_t dev_id)
>  }
> 
>  static inline int
> -evt_service_setup(uint8_t dev_id)
> +evt_service_setup(uint32_t service_id)
>  {
> -     uint32_t service_id;
>       int32_t core_cnt;
>       unsigned int lcore = 0;
>       uint32_t core_array[RTE_MAX_LCORE];
>       uint8_t cnt;
>       uint8_t min_cnt = UINT8_MAX;
> 
> -     if (evt_has_distributed_sched(dev_id))
> -             return 0;
> -
>       if (!rte_service_lcore_count())
>               return -ENOENT;

See last comment - we can try to get next lcore, and add it as a service core 
to continue running test?

> 
> -     if (!rte_event_dev_service_id_get(dev_id, &service_id)) {
> -             core_cnt = rte_service_lcore_list(core_array,
> -                             RTE_MAX_LCORE);
> -             if (core_cnt < 0)
> -                     return -ENOENT;
> -             /* Get the core which has least number of services running. */
> -             while (core_cnt--) {
> -                     /* Reset default mapping */

> -                     rte_service_map_lcore_set(service_id,
> -                                     core_array[core_cnt], 0);

Nit: these two can be on the same line

> 
> +             if (!(cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT)) {
> +                     uint32_t service_id;
> +
> +                     rte_event_eth_rx_adapter_service_id_get(prod,
> +                                     &service_id);
> +                     ret = evt_service_setup(service_id);

> +                     if (ret) {
> +                             evt_err("Failed to setup service core"
> +                                             " for Rx adapter\n");

No need to split strings here.


> +     if (!evt_has_distributed_sched(opt->dev_id)) {
> +             uint32_t service_id;
> +             rte_event_dev_service_id_get(opt->dev_id, &service_id);
> +             ret = evt_service_setup(service_id);
> +             if (ret) {
> +                     evt_err("No service lcore found to run event dev.");
> +                     return ret;

Would it be better to try get next lcore, and add as a service core here? That 
way we could continue running the test.


With above suggestions;
Acked-by: Harry van Haaren <harry.van.haa...@intel.com>

Reply via email to