[PATCH v1] tools/rtla: Fix unassigned nr_cpus

Costa Shulyupin posted 1 patch 4 months, 1 week ago
tools/tracing/rtla/Makefile.rtla  | 2 +-
tools/tracing/rtla/src/timerlat.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
[PATCH v1] tools/rtla: Fix unassigned nr_cpus
Posted by Costa Shulyupin 4 months, 1 week ago
In recently introduced timerlat_free(),
the variable 'nr_cpus' is not assigned.

Assign it with sysconf(_SC_NPROCESSORS_CONF) as done elsewhere.
Remove the culprit: -Wno-maybe-uninitialized. The rest of the
code is clean.

Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
---
 tools/tracing/rtla/Makefile.rtla  | 2 +-
 tools/tracing/rtla/src/timerlat.c | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/tracing/rtla/Makefile.rtla b/tools/tracing/rtla/Makefile.rtla
index 08c1b40883d3..1743d91829d4 100644
--- a/tools/tracing/rtla/Makefile.rtla
+++ b/tools/tracing/rtla/Makefile.rtla
@@ -18,7 +18,7 @@ export CC AR STRIP PKG_CONFIG LD_SO_CONF_PATH LDCONFIG
 FOPTS		:= -flto=auto -ffat-lto-objects -fexceptions -fstack-protector-strong	\
 		-fasynchronous-unwind-tables -fstack-clash-protection
 WOPTS		:= -O -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2		\
-		-Wp,-D_GLIBCXX_ASSERTIONS -Wno-maybe-uninitialized
+		-Wp,-D_GLIBCXX_ASSERTIONS
 
 ifeq ($(CC),clang)
   FOPTS		:= $(filter-out -flto=auto -ffat-lto-objects, $(FOPTS))
diff --git a/tools/tracing/rtla/src/timerlat.c b/tools/tracing/rtla/src/timerlat.c
index 28ea4f6710c1..df4f9bfe3433 100644
--- a/tools/tracing/rtla/src/timerlat.c
+++ b/tools/tracing/rtla/src/timerlat.c
@@ -213,7 +213,8 @@ void timerlat_analyze(struct osnoise_tool *tool, bool stopped)
 void timerlat_free(struct osnoise_tool *tool)
 {
 	struct timerlat_params *params = to_timerlat_params(tool->params);
-	int nr_cpus, i;
+	int nr_cpus = sysconf(_SC_NPROCESSORS_CONF);
+	int i;
 
 	timerlat_aa_destroy();
 	if (dma_latency_fd >= 0)
-- 
2.51.0
Re: [PATCH v1] tools/rtla: Fix unassigned nr_cpus
Posted by Tomas Glozar 3 months, 1 week ago
Hi Steven,

čt 2. 10. 2025 v 19:09 odesílatel Costa Shulyupin
<costa.shul@redhat.com> napsal:
>
> In recently introduced timerlat_free(),
> the variable 'nr_cpus' is not assigned.
>
> Assign it with sysconf(_SC_NPROCESSORS_CONF) as done elsewhere.
> Remove the culprit: -Wno-maybe-uninitialized. The rest of the
> code is clean.
>
> Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
> ---
>  tools/tracing/rtla/Makefile.rtla  | 2 +-
>  tools/tracing/rtla/src/timerlat.c | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
>

This is another fix of a bug introduced in the 6.18-v1 RTLA code
consolidation [1], this time affecting the resetting of idle states
set through --deepest-idle-state. Could you please also add it to your
RTLA fix queue?

Also, this should have:

Fixes: 2f3172f9dd58 ("tools/rtla: Consolidate code between
osnoise/timerlat and hist/top")

[1] https://lore.kernel.org/linux-trace-kernel/20250907022325.243930-1-crwood@redhat.com/T/

Thanks,
Tomas
Re: [PATCH v1] tools/rtla: Fix unassigned nr_cpus
Posted by Steven Rostedt 3 months, 1 week ago
On Thu, 30 Oct 2025 10:10:36 +0100
Tomas Glozar <tglozar@redhat.com> wrote:

> Hi Steven,
> 
> čt 2. 10. 2025 v 19:09 odesílatel Costa Shulyupin
> <costa.shul@redhat.com> napsal:
> >
> > In recently introduced timerlat_free(),
> > the variable 'nr_cpus' is not assigned.
> >
> > Assign it with sysconf(_SC_NPROCESSORS_CONF) as done elsewhere.
> > Remove the culprit: -Wno-maybe-uninitialized. The rest of the
> > code is clean.
> >
> > Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
> > ---
> >  tools/tracing/rtla/Makefile.rtla  | 2 +-
> >  tools/tracing/rtla/src/timerlat.c | 3 ++-
> >  2 files changed, 3 insertions(+), 2 deletions(-)
> >  
> 
> This is another fix of a bug introduced in the 6.18-v1 RTLA code
> consolidation [1], this time affecting the resetting of idle states
> set through --deepest-idle-state. Could you please also add it to your
> RTLA fix queue?
> 
> Also, this should have:
> 
> Fixes: 2f3172f9dd58 ("tools/rtla: Consolidate code between
> osnoise/timerlat and hist/top")
> 
> [1] https://lore.kernel.org/linux-trace-kernel/20250907022325.243930-1-crwood@redhat.com/T/
>

Thanks,

I'll take a look at this today. We need to start making you a maintainer
for this, so that you only need to send me pull requests.

Do you have a kernel.org account? If not, do you have PGP signatures from
other kernel.org developers to your key?

-- Steve
Re: [PATCH v1] tools/rtla: Fix unassigned nr_cpus
Posted by Tomas Glozar 3 months, 1 week ago
čt 2. 10. 2025 v 19:09 odesílatel Costa Shulyupin
<costa.shul@redhat.com> napsal:
>
> In recently introduced timerlat_free(),
> the variable 'nr_cpus' is not assigned.
>
> Assign it with sysconf(_SC_NPROCESSORS_CONF) as done elsewhere.
> Remove the culprit: -Wno-maybe-uninitialized. The rest of the
> code is clean.

I suspected that the warning was disabled because of issues with an
old version of GCC, but that is not the case: I tried building RTLA on
RHEL 7 with GCC 4.8, and got no warnings, beside the real bug that you
fix here.

Therefore, it can be removed, so that such bugs are caught in the future.

>
> Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
> ---
>  tools/tracing/rtla/Makefile.rtla  | 2 +-
>  tools/tracing/rtla/src/timerlat.c | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
>

Reviewed-by: Tomas Glozar <tglozar@redhat.com>

Tomas