On Mon, Feb 09, 2026 at 11:24:34AM +0200, Costa Shulyupin wrote:
> nr_cpus does not change at runtime, so passing it through function
> arguments is unnecessary.
> 
> Use the global nr_cpus instead of propagating it via parameters.

The parameter should also be removed from timerlat_bpf_get_hist_value(),
shouldn't it?

> 
> Signed-off-by: Costa Shulyupin <[email protected]>
> ---
>  tools/tracing/rtla/src/osnoise_hist.c  |  4 ++--
>  tools/tracing/rtla/src/osnoise_top.c   |  4 ++--
>  tools/tracing/rtla/src/timerlat_bpf.c  |  5 ++---
>  tools/tracing/rtla/src/timerlat_bpf.h  |  6 ++----
>  tools/tracing/rtla/src/timerlat_hist.c | 19 +++++++------------
>  tools/tracing/rtla/src/timerlat_top.c  | 19 +++++++------------
>  tools/tracing/rtla/src/timerlat_u.c    |  6 +++---
>  7 files changed, 25 insertions(+), 38 deletions(-)
> 
> diff --git a/tools/tracing/rtla/src/osnoise_hist.c 
> b/tools/tracing/rtla/src/osnoise_hist.c
> index 03ebff34fff4..d83ee047a5f5 100644
> --- a/tools/tracing/rtla/src/osnoise_hist.c
> +++ b/tools/tracing/rtla/src/osnoise_hist.c
> @@ -62,7 +62,7 @@ static void osnoise_free_hist_tool(struct osnoise_tool 
> *tool)
>   * osnoise_alloc_histogram - alloc runtime data
>   */
>  static struct osnoise_hist_data
> -*osnoise_alloc_histogram(int nr_cpus, int entries, int bucket_size)
> +*osnoise_alloc_histogram(int entries, int bucket_size)
>  {
>       struct osnoise_hist_data *data;
>       int cpu;
> @@ -652,7 +652,7 @@ static struct osnoise_tool
>       if (!tool)
>               return NULL;
>  
> -     tool->data = osnoise_alloc_histogram(nr_cpus, params->hist.entries,
> +     tool->data = osnoise_alloc_histogram(params->hist.entries,
>                                            params->hist.bucket_size);
>       if (!tool->data)
>               goto out_err;
> diff --git a/tools/tracing/rtla/src/osnoise_top.c 
> b/tools/tracing/rtla/src/osnoise_top.c
> index 7dcd2e318205..73b3ac0dd43b 100644
> --- a/tools/tracing/rtla/src/osnoise_top.c
> +++ b/tools/tracing/rtla/src/osnoise_top.c
> @@ -51,7 +51,7 @@ static void osnoise_free_top_tool(struct osnoise_tool *tool)
>  /*
>   * osnoise_alloc_histogram - alloc runtime data
>   */
> -static struct osnoise_top_data *osnoise_alloc_top(int nr_cpus)
> +static struct osnoise_top_data *osnoise_alloc_top(void)
>  {
>       struct osnoise_top_data *data;
>  
> @@ -496,7 +496,7 @@ struct osnoise_tool *osnoise_init_top(struct 
> common_params *params)
>       if (!tool)
>               return NULL;
>  
> -     tool->data = osnoise_alloc_top(nr_cpus);
> +     tool->data = osnoise_alloc_top();
>       if (!tool->data) {
>               osnoise_destroy_tool(tool);
>               return NULL;
> diff --git a/tools/tracing/rtla/src/timerlat_bpf.c 
> b/tools/tracing/rtla/src/timerlat_bpf.c
> index 05adf18303df..8d5c3a095e41 100644
> --- a/tools/tracing/rtla/src/timerlat_bpf.c
> +++ b/tools/tracing/rtla/src/timerlat_bpf.c
> @@ -191,13 +191,12 @@ int timerlat_bpf_get_hist_value(int key,
>  int timerlat_bpf_get_summary_value(enum summary_field key,
>                                  long long *value_irq,
>                                  long long *value_thread,
> -                                long long *value_user,
> -                                int cpus)
> +                                long long *value_user)
>  {
>       return get_value(bpf->maps.summary_irq,
>                        bpf->maps.summary_thread,
>                        bpf->maps.summary_user,
> -                      key, value_irq, value_thread, value_user, cpus);
> +                      key, value_irq, value_thread, value_user, nr_cpus);
>  }
>  
>  /*
> diff --git a/tools/tracing/rtla/src/timerlat_bpf.h 
> b/tools/tracing/rtla/src/timerlat_bpf.h
> index 169abeaf4363..f4a5476f2abb 100644
> --- a/tools/tracing/rtla/src/timerlat_bpf.h
> +++ b/tools/tracing/rtla/src/timerlat_bpf.h
> @@ -28,8 +28,7 @@ int timerlat_bpf_get_hist_value(int key,
>  int timerlat_bpf_get_summary_value(enum summary_field key,
>                                  long long *value_irq,
>                                  long long *value_thread,
> -                                long long *value_user,
> -                                int cpus);
> +                                long long *value_user);
>  int timerlat_load_bpf_action_program(const char *program_path);
>  static inline int have_libbpf_support(void) { return 1; }
>  #else
> @@ -53,8 +52,7 @@ static inline int timerlat_bpf_get_hist_value(int key,
>  static inline int timerlat_bpf_get_summary_value(enum summary_field key,
>                                                long long *value_irq,
>                                                long long *value_thread,
> -                                              long long *value_user,
> -                                              int cpus)
> +                                              long long *value_user)
>  {
>       return -1;
>  }
> diff --git a/tools/tracing/rtla/src/timerlat_hist.c 
> b/tools/tracing/rtla/src/timerlat_hist.c
> index 841118ed84f2..dee5fbf622c3 100644
> --- a/tools/tracing/rtla/src/timerlat_hist.c
> +++ b/tools/tracing/rtla/src/timerlat_hist.c
> @@ -83,7 +83,7 @@ static void timerlat_free_histogram_tool(struct 
> osnoise_tool *tool)
>   * timerlat_alloc_histogram - alloc runtime data
>   */
>  static struct timerlat_hist_data
> -*timerlat_alloc_histogram(int nr_cpus, int entries, int bucket_size)
> +*timerlat_alloc_histogram(int entries, int bucket_size)
>  {
>       struct timerlat_hist_data *data;
>       int cpu;
> @@ -223,8 +223,7 @@ static int timerlat_hist_bpf_pull_data(struct 
> osnoise_tool *tool)
>  
>       /* Pull summary */
>       err = timerlat_bpf_get_summary_value(SUMMARY_COUNT,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -234,8 +233,7 @@ static int timerlat_hist_bpf_pull_data(struct 
> osnoise_tool *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_MIN,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -245,8 +243,7 @@ static int timerlat_hist_bpf_pull_data(struct 
> osnoise_tool *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_MAX,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -256,8 +253,7 @@ static int timerlat_hist_bpf_pull_data(struct 
> osnoise_tool *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_SUM,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -267,8 +263,7 @@ static int timerlat_hist_bpf_pull_data(struct 
> osnoise_tool *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_OVERFLOW,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -1036,7 +1031,7 @@ static struct osnoise_tool
>       if (!tool)
>               return NULL;
>  
> -     tool->data = timerlat_alloc_histogram(nr_cpus, params->hist.entries,
> +     tool->data = timerlat_alloc_histogram(params->hist.entries,
>                                             params->hist.bucket_size);
>       if (!tool->data)
>               goto out_err;
> diff --git a/tools/tracing/rtla/src/timerlat_top.c 
> b/tools/tracing/rtla/src/timerlat_top.c
> index 3e395ce4fa9f..25b4d81b4fe0 100644
> --- a/tools/tracing/rtla/src/timerlat_top.c
> +++ b/tools/tracing/rtla/src/timerlat_top.c
> @@ -62,7 +62,7 @@ static void timerlat_free_top_tool(struct osnoise_tool 
> *tool)
>  /*
>   * timerlat_alloc_histogram - alloc runtime data
>   */
> -static struct timerlat_top_data *timerlat_alloc_top(int nr_cpus)
> +static struct timerlat_top_data *timerlat_alloc_top(void)
>  {
>       struct timerlat_top_data *data;
>       int cpu;
> @@ -196,8 +196,7 @@ static int timerlat_top_bpf_pull_data(struct osnoise_tool 
> *tool)
>  
>       /* Pull summary */
>       err = timerlat_bpf_get_summary_value(SUMMARY_CURRENT,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -207,8 +206,7 @@ static int timerlat_top_bpf_pull_data(struct osnoise_tool 
> *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_COUNT,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -218,8 +216,7 @@ static int timerlat_top_bpf_pull_data(struct osnoise_tool 
> *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_MIN,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -229,8 +226,7 @@ static int timerlat_top_bpf_pull_data(struct osnoise_tool 
> *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_MAX,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -240,8 +236,7 @@ static int timerlat_top_bpf_pull_data(struct osnoise_tool 
> *tool)
>       }
>  
>       err = timerlat_bpf_get_summary_value(SUMMARY_SUM,
> -                                          value_irq, value_thread, 
> value_user,
> -                                          data->nr_cpus);
> +                                          value_irq, value_thread, 
> value_user);
>       if (err)
>               return err;
>       for (i = 0; i < data->nr_cpus; i++) {
> @@ -782,7 +777,7 @@ static struct osnoise_tool
>       if (!top)
>               return NULL;
>  
> -     top->data = timerlat_alloc_top(nr_cpus);
> +     top->data = timerlat_alloc_top();
>       if (!top->data)
>               goto out_err;
>  
> diff --git a/tools/tracing/rtla/src/timerlat_u.c 
> b/tools/tracing/rtla/src/timerlat_u.c
> index a569fe7f93aa..03b4e68e8b1e 100644
> --- a/tools/tracing/rtla/src/timerlat_u.c
> +++ b/tools/tracing/rtla/src/timerlat_u.c
> @@ -99,7 +99,7 @@ static int timerlat_u_main(int cpu, struct 
> timerlat_u_params *params)
>   *
>   * Return the number of processes that received the kill.
>   */
> -static int timerlat_u_send_kill(pid_t *procs, int nr_cpus)
> +static int timerlat_u_send_kill(pid_t *procs)
>  {
>       int killed = 0;
>       int i, retval;
> @@ -169,7 +169,7 @@ void *timerlat_u_dispatcher(void *data)
>  
>               /* parent */
>               if (pid == -1) {
> -                     timerlat_u_send_kill(procs, nr_cpus);
> +                     timerlat_u_send_kill(procs);
>                       debug_msg("Failed to create child processes");
>                       pthread_exit(&retval);
>               }
> @@ -196,7 +196,7 @@ void *timerlat_u_dispatcher(void *data)
>               sleep(1);
>       }
>  
> -     timerlat_u_send_kill(procs, nr_cpus);
> +     timerlat_u_send_kill(procs);
>  
>       while (procs_count) {
>               pid = waitpid(-1, &wstatus, 0);
> -- 
> 2.52.0
> 


Reply via email to