> From: Piotr Krzewinski <piotr.krzewinski@ericsson.com>
> Sent: Friday, December 20, 2024 2:29 PM
> To: Van Haaren, Harry <harry.van.haaren@intel.com>
> Cc: dev@dpdk.org <dev@dpdk.org>; Krzewinski, Piotr <piotr.krzewinski@ericsson.com>; mattias.ronnblom@ericsson.com <mattias.ronnblom@ericsson.com>; stable@dpdk.org <stable@dpdk.org>
> Subject: [PATCH] service: fix getting service lcore attributes
>  
> Perf test service_perf_autotest was failing after introduction
> of lcore variables. Fixed getting of idle_ and error_ service
> call statistics.
>
> Fixes: b24bbaedbba2 ("service: keep per-lcore state in lcore variable")
> Cc: mattias.ronnblom@ericsson.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Piotr Krzewinski <piotr.krzewinski@ericsson.com>

Thanks - verified that these two occurrences were the last two of such kind in the file too!

Acked-by: Harry van Haaren <harry.van.haaren@intel.com>

Side-note; seems CI flagged a warning, but not a real issue, artifact is empty
https://lab.dpdk.org/results/dashboard/patchsets/32181/
https://lab.dpdk.org/results/dashboard/testruns/logs/1492956/

> ---
>  lib/eal/common/rte_service.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/eal/common/rte_service.c b/lib/eal/common/rte_service.c
> index dad3150df9..1821746337 100644
> --- a/lib/eal/common/rte_service.c
> +++ b/lib/eal/common/rte_service.c
> @@ -879,7 +879,7 @@ lcore_attr_get_service_calls(uint32_t service_id, unsigned int lcore)
>  static uint64_t
>  lcore_attr_get_service_idle_calls(uint32_t service_id, unsigned int lcore)
>  {
> -       struct core_state *cs = &lcore_states[lcore];
> +       struct core_state *cs = RTE_LCORE_VAR_LCORE(lcore, lcore_states);
>  
>          return rte_atomic_load_explicit(&cs->service_stats[service_id].idle_calls,
>                  rte_memory_order_relaxed);
> @@ -888,7 +888,7 @@ lcore_attr_get_service_idle_calls(uint32_t service_id, unsigned int lcore)
>  static uint64_t
>  lcore_attr_get_service_error_calls(uint32_t service_id, unsigned int lcore)
>  {
> -       struct core_state *cs = &lcore_states[lcore];
> +       struct core_state *cs = RTE_LCORE_VAR_LCORE(lcore, lcore_states);
>  
>          return rte_atomic_load_explicit(&cs->service_stats[service_id].error_calls,
>                  rte_memory_order_relaxed);
> --
> 2.36.0