mbox series

[N/U,0/2] add Real-time Linux Analysis tool (rtla) to linux-tools

Message ID 20240403051553.257864-1-andrea.righi@canonical.com
Headers show
Series add Real-time Linux Analysis tool (rtla) to linux-tools | expand

Message

Andrea Righi April 3, 2024, 5:13 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/2059080

[Impact]

The **rtla** is a meta-tool that includes a set of commands that aims to
analyze the real-time properties of Linux.

Considering the latest "low-latency" capabilities acquired by the
generic kernel and also considering the recent trend in Ubuntu to focus
on performance and observability (see for example
https://ubuntu.com/blog/ubuntu-performance-engineering-with-frame-pointers-by-default),
it makes sense to provide more tools that can help to analyze
timing/responsive performance, such as rtla.

[Test case]

Simple rtla usage to measure the timer irq / timer thread latency:

 $ sudo rtla timerlat

[Fix]

Enable the build of the rtla binary during the kernel build and ship it
with linux-tools.

[Regression potential]

The only potential regression is an increased amount of size in the
linux-tools package, due to the extra binary.

However, the binary itself is really small, the kernel already has all
the required capabilities enabled and we don't need to introduce any
additional user-space dependency, therefore such extra space is expected
to be minimal.

Comments

Kevin Becker April 4, 2024, 5:26 p.m. UTC | #1
This looks good, but in patch 2, debian/rules.d/2-binary-arch.mk, in
the line where you run make on rtla, you define VERSION="\"6.8.1\""'.
That's fine for now until we pull in 6.8.2+, but in the future, we
should set VERSION to something like ${raw_kernelversion} so we don't
have to update it manually.

Acked-by: Kevin Becker <kevin.becker@canonical.com>

On Wed, Apr 3, 2024 at 1:17 AM Andrea Righi <andrea.righi@canonical.com> wrote:
>
> BugLink: https://bugs.launchpad.net/bugs/2059080
>
> [Impact]
>
> The **rtla** is a meta-tool that includes a set of commands that aims to
> analyze the real-time properties of Linux.
>
> Considering the latest "low-latency" capabilities acquired by the
> generic kernel and also considering the recent trend in Ubuntu to focus
> on performance and observability (see for example
> https://ubuntu.com/blog/ubuntu-performance-engineering-with-frame-pointers-by-default),
> it makes sense to provide more tools that can help to analyze
> timing/responsive performance, such as rtla.
>
> [Test case]
>
> Simple rtla usage to measure the timer irq / timer thread latency:
>
>  $ sudo rtla timerlat
>
> [Fix]
>
> Enable the build of the rtla binary during the kernel build and ship it
> with linux-tools.
>
> [Regression potential]
>
> The only potential regression is an increased amount of size in the
> linux-tools package, due to the extra binary.
>
> However, the binary itself is really small, the kernel already has all
> the required capabilities enabled and we don't need to introduce any
> additional user-space dependency, therefore such extra space is expected
> to be minimal.
Roxana Nicolescu July 24, 2024, 8:50 a.m. UTC | #2
On 03/04/2024 07:13, Andrea Righi wrote:
> BugLink: https://bugs.launchpad.net/bugs/2059080
>
> [Impact]
>
> The **rtla** is a meta-tool that includes a set of commands that aims to
> analyze the real-time properties of Linux.
>
> Considering the latest "low-latency" capabilities acquired by the
> generic kernel and also considering the recent trend in Ubuntu to focus
> on performance and observability (see for example
> https://ubuntu.com/blog/ubuntu-performance-engineering-with-frame-pointers-by-default),
> it makes sense to provide more tools that can help to analyze
> timing/responsive performance, such as rtla.
>
> [Test case]
>
> Simple rtla usage to measure the timer irq / timer thread latency:
>
>   $ sudo rtla timerlat
>
> [Fix]
>
> Enable the build of the rtla binary during the kernel build and ship it
> with linux-tools.
>
> [Regression potential]
>
> The only potential regression is an increased amount of size in the
> linux-tools package, due to the extra binary.
>
> However, the binary itself is really small, the kernel already has all
> the required capabilities enabled and we don't need to introduce any
> additional user-space dependency, therefore such extra space is expected
> to be minimal.
>
This seems to be applied to the noble and oracular trees.