[PATCH 0/3] rtla/timerlat: Set OSNOISE_WORKLOAD for kernel threads

Tomas Glozar posted 3 patches 11 months, 2 weeks ago
tools/tracing/rtla/src/osnoise.c       |  2 +-
tools/tracing/rtla/src/timerlat_hist.c | 15 +++++++++------
tools/tracing/rtla/src/timerlat_top.c  | 15 +++++++++------
3 files changed, 19 insertions(+), 13 deletions(-)
[PATCH 0/3] rtla/timerlat: Set OSNOISE_WORKLOAD for kernel threads
Posted by Tomas Glozar 11 months, 2 weeks ago
The patchset makes both rtla-timerlat-hist and rtla-timerlat-top set
OSNOISE_WORKLOAD to the proper value ("on" when running with -k, "off"
when running with -u) every time the option is available instead of setting it
only when running with -u.

This prevents rtla timerlat -k from giving no results when
NO_OSNOISE_WORKLOAD is set, either manually or by an abnormally exited earlier
run of rtla timerlat -u.

osnoise_set_workload is made to distinguish between the option missing
altogether and it failing to be set. In the first case, rtla-timerlat will
ignore setting the option to preserve compatibility of kernel-thread mode
on older kernels without the OSNOISE_WORKLOAD option.

Tomas Glozar (3):
  rtla/osnoise: Distinguish missing workload option
  rtla/timerlat_hist: Set OSNOISE_WORKLOAD for kernel threads
  rtla/timerlat_top: Set OSNOISE_WORKLOAD for kernel threads

 tools/tracing/rtla/src/osnoise.c       |  2 +-
 tools/tracing/rtla/src/timerlat_hist.c | 15 +++++++++------
 tools/tracing/rtla/src/timerlat_top.c  | 15 +++++++++------
 3 files changed, 19 insertions(+), 13 deletions(-)

-- 
2.47.1
Re: [PATCH 0/3] rtla/timerlat: Set OSNOISE_WORKLOAD for kernel threads
Posted by Steven Rostedt 11 months, 2 weeks ago
On Tue,  7 Jan 2025 15:48:20 +0100
Tomas Glozar <tglozar@redhat.com> wrote:

> The patchset makes both rtla-timerlat-hist and rtla-timerlat-top set
> OSNOISE_WORKLOAD to the proper value ("on" when running with -k, "off"
> when running with -u) every time the option is available instead of setting it
> only when running with -u.
> 
> This prevents rtla timerlat -k from giving no results when
> NO_OSNOISE_WORKLOAD is set, either manually or by an abnormally exited earlier
> run of rtla timerlat -u.
> 
> osnoise_set_workload is made to distinguish between the option missing
> altogether and it failing to be set. In the first case, rtla-timerlat will
> ignore setting the option to preserve compatibility of kernel-thread mode
> on older kernels without the OSNOISE_WORKLOAD option.
> 
> Tomas Glozar (3):
>   rtla/osnoise: Distinguish missing workload option
>   rtla/timerlat_hist: Set OSNOISE_WORKLOAD for kernel threads
>   rtla/timerlat_top: Set OSNOISE_WORKLOAD for kernel threads
> 
>  tools/tracing/rtla/src/osnoise.c       |  2 +-
>  tools/tracing/rtla/src/timerlat_hist.c | 15 +++++++++------
>  tools/tracing/rtla/src/timerlat_top.c  | 15 +++++++++------
>  3 files changed, 19 insertions(+), 13 deletions(-)
> 

BTW, are you going to be implementing any selftests for rtla so that it is
easy to test these changes and check for regressions?

-- Steve
Re: [PATCH 0/3] rtla/timerlat: Set OSNOISE_WORKLOAD for kernel threads
Posted by Tomas Glozar 11 months, 2 weeks ago
út 7. 1. 2025 v 22:43 odesílatel Steven Rostedt <rostedt@goodmis.org> napsal:
>
> BTW, are you going to be implementing any selftests for rtla so that it is
> easy to test these changes and check for regressions?

Ah right, I promised that some time ago. I have a simple test suite
adapted from CKI tests [1] that is close to being ready, I was having
some doubts about the implementation, but I will send it after adding
a few comments into the code so it can be discussed.

I have discovered already through the tests that this OSNOISE_WORKLOAD
issue also affects rtla-osnoise, not only rtla-timerlat, so it is
definitely at least somehow useful.

[1] - https://gitlab.com/redhat/centos-stream/tests/kernel/kernel-tests/-/blob/main/rt-tests/us/rtla/

> -- Steve
>

Tomas