Patch "rtla/timerlat: Do not set params->user_workload with -U" has been added to the 6.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    rtla/timerlat: Do not set params->user_workload with -U

to the 6.12-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     rtla-timerlat-do-not-set-params-user_workload-with-u.patch
and it can be found in the queue-6.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c0be97a7807b3d29baec723e4035dc41ea64502a
Author: Tomas Glozar <tglozar@xxxxxxxxxx>
Date:   Mon Oct 21 14:31:40 2024 +0200

    rtla/timerlat: Do not set params->user_workload with -U
    
    [ Upstream commit fcbc60d7dc4b125c8de130aa1512e5d20726c06e ]
    
    Since commit fb9e90a67ee9 ("rtla/timerlat: Make user-space threads
    the default"), rtla-timerlat has been defaulting to
    params->user_workload if neither that or params->kernel_workload is set.
    This has unintentionally made -U, which sets only params->user_hist/top
    but not params->user_workload, to behave like -u unless -k is set,
    preventing the user from running a custom workload.
    
    Example:
    $ rtla timerlat hist -U -c 0 &
    [1] 7413
    $ python sample/timerlat_load.py 0
    Error opening timerlat fd, did you run timerlat -U?
    $ ps | grep timerlatu
    7415 pts/4    00:00:00 timerlatu/0
    
    Fix the issue by checking for params->user_top/hist instead of
    params->user_workload when setting default thread mode.
    
    Link: https://lore.kernel.org/20241021123140.14652-1-tglozar@xxxxxxxxxx
    Fixes: fb9e90a67ee9 ("rtla/timerlat: Make user-space threads the default")
    Signed-off-by: Tomas Glozar <tglozar@xxxxxxxxxx>
    Signed-off-by: Steven Rostedt (Google) <rostedt@xxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/tracing/rtla/src/timerlat_hist.c b/tools/tracing/rtla/src/timerlat_hist.c
index a3907c390d67a..829511a712224 100644
--- a/tools/tracing/rtla/src/timerlat_hist.c
+++ b/tools/tracing/rtla/src/timerlat_hist.c
@@ -1064,7 +1064,7 @@ timerlat_hist_apply_config(struct osnoise_tool *tool, struct timerlat_hist_param
 	 * If the user did not specify a type of thread, try user-threads first.
 	 * Fall back to kernel threads otherwise.
 	 */
-	if (!params->kernel_workload && !params->user_workload) {
+	if (!params->kernel_workload && !params->user_hist) {
 		retval = tracefs_file_exists(NULL, "osnoise/per_cpu/cpu0/timerlat_fd");
 		if (retval) {
 			debug_msg("User-space interface detected, setting user-threads\n");
diff --git a/tools/tracing/rtla/src/timerlat_top.c b/tools/tracing/rtla/src/timerlat_top.c
index 210b0f533534a..3b62519a412fc 100644
--- a/tools/tracing/rtla/src/timerlat_top.c
+++ b/tools/tracing/rtla/src/timerlat_top.c
@@ -830,7 +830,7 @@ timerlat_top_apply_config(struct osnoise_tool *top, struct timerlat_top_params *
 	 * If the user did not specify a type of thread, try user-threads first.
 	 * Fall back to kernel threads otherwise.
 	 */
-	if (!params->kernel_workload && !params->user_workload) {
+	if (!params->kernel_workload && !params->user_top) {
 		retval = tracefs_file_exists(NULL, "osnoise/per_cpu/cpu0/timerlat_fd");
 		if (retval) {
 			debug_msg("User-space interface detected, setting user-threads\n");




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux