All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Tomas Glozar <tglozar@redhat.com>, John Kacur <jkacur@redhat.com>,
	stable@vger.kernel.org, Luis Goncalves <lgoncalv@redhat.com>
Subject: [for-next][PATCH 09/14] rtla/timerlat_top: Set OSNOISE_WORKLOAD for kernel threads
Date: Fri, 24 Jan 2025 13:48:44 -0500	[thread overview]
Message-ID: <20250124184857.729167222@goodmis.org> (raw)
In-Reply-To: 20250124184835.052017152@goodmis.org

From: Tomas Glozar <tglozar@redhat.com>

When using rtla timerlat with userspace threads (-u or -U), rtla
disables the OSNOISE_WORKLOAD option in
/sys/kernel/tracing/osnoise/options. This option is not re-enabled in a
subsequent run with kernel-space threads, leading to rtla collecting no
results if the previous run exited abnormally:

$ rtla timerlat top -u
^\Quit (core dumped)
$ rtla timerlat top -k -d 1s
                                     Timer Latency
  0 00:00:01   |          IRQ Timer Latency (us)        |         Thread Timer Latency (us)
CPU COUNT      |      cur       min       avg       max |      cur       min       avg       max

The issue persists until OSNOISE_WORKLOAD is set manually by running:
$ echo OSNOISE_WORKLOAD > /sys/kernel/tracing/osnoise/options

Set OSNOISE_WORKLOAD when running rtla with kernel-space threads if
available to fix the issue.

Cc: stable@vger.kernel.org
Cc: John Kacur <jkacur@redhat.com>
Cc: Luis Goncalves <lgoncalv@redhat.com>
Link: https://lore.kernel.org/20250107144823.239782-4-tglozar@redhat.com
Fixes: cdca4f4e5e8e ("rtla/timerlat_top: Add timerlat user-space support")
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
 tools/tracing/rtla/src/timerlat_top.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/tracing/rtla/src/timerlat_top.c b/tools/tracing/rtla/src/timerlat_top.c
index d358cd39f360..f387597d3ac2 100644
--- a/tools/tracing/rtla/src/timerlat_top.c
+++ b/tools/tracing/rtla/src/timerlat_top.c
@@ -851,12 +851,15 @@ timerlat_top_apply_config(struct osnoise_tool *top, struct timerlat_top_params *
 		}
 	}
 
-	if (params->user_top) {
-		retval = osnoise_set_workload(top->context, 0);
-		if (retval) {
-			err_msg("Failed to set OSNOISE_WORKLOAD option\n");
-			goto out_err;
-		}
+	/*
+	* Set workload according to type of thread if the kernel supports it.
+	* On kernels without support, user threads will have already failed
+	* on missing timerlat_fd, and kernel threads do not need it.
+	*/
+	retval = osnoise_set_workload(top->context, params->kernel_workload);
+	if (retval < -1) {
+		err_msg("Failed to set OSNOISE_WORKLOAD option\n");
+		goto out_err;
 	}
 
 	if (isatty(STDOUT_FILENO) && !params->quiet)
-- 
2.45.2



  parent reply	other threads:[~2025-01-24 18:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-24 18:48 [for-next][PATCH 00/14] rtla: Update for tools for 6.14 Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 01/14] tools/rtla: Add basic test suite Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 02/14] rtla: Add trace_instance_stop Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 03/14] rtla/timerlat_hist: Stop timerlat tracer on signal Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 04/14] rtla/timerlat_top: " Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 05/14] rtla/timerlat_hist: Abort event processing on second signal Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 06/14] rtla/timerlat_top: " Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 07/14] rtla/osnoise: Distinguish missing workload option Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 08/14] rtla/timerlat_hist: Set OSNOISE_WORKLOAD for kernel threads Steven Rostedt
2025-01-24 18:48 ` Steven Rostedt [this message]
2025-01-24 18:48 ` [for-next][PATCH 10/14] tools/rtla: Add osnoise_trace_is_off() Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 11/14] rtla: Count missed trace events Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 12/14] rtla: Count all processed events Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 13/14] rtla: Add function to report missed events Steven Rostedt
2025-01-24 18:48 ` [for-next][PATCH 14/14] rtla: Report missed event count Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250124184857.729167222@goodmis.org \
    --to=rostedt@goodmis.org \
    --cc=jkacur@redhat.com \
    --cc=lgoncalv@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tglozar@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.