rtla/timerlat: Do not set params->user_workload with -U
[ Upstream commit fcbc60d7dc4b125c8de130aa1512e5d20726c06e ] Since commitfb9e90a67e("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@redhat.com Fixes:fb9e90a67e("rtla/timerlat: Make user-space threads the default") Signed-off-by: Tomas Glozar <tglozar@redhat.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
115fbb4218
commit
a484490e04
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user