[Buildroot] [PATCH v2 3/4] package/linux-tools: add rtla

Yann E. MORIN yann.morin.1998 at free.fr
Sat Sep 30 20:45:05 UTC 2023


Giulio, All,

On 2023-09-26 11:11 +0200, Giulio Benetti spake thusly:
> From: Maxime Chevallier <maxime.chevallier at bootlin.com>
> 
> The RealTime Linux Analysis tool includes a set of commands that relies
> on the osnoise and timerlat tracers from the ftrace kernel subsystem,
> allowing to analyze the lantency sources coming from the hardware and
> the kernel itself.
> 
> This tool was introduced in v5.17, and relies on libtracefs and
> libtraceevent, although libtraceevent itself is already a dependency for
> libtracefs.
> 
> Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
> [Giulio: fix install with recent Linux versions]
> Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
> ---
[--SNIP--]
> diff --git a/package/linux-tools/Config.in b/package/linux-tools/Config.in
> index 451b0eeff5..63e2796e45 100644
> --- a/package/linux-tools/Config.in
> +++ b/package/linux-tools/Config.in
> @@ -102,6 +102,16 @@ config BR2_PACKAGE_LINUX_TOOLS_PERF_NEEDS_HOST_PYTHON3
>  
>  endif
>  
> +config BR2_PACKAGE_LINUX_TOOLS_RTLA
> +	bool "rtla"
> +	select BR2_PACKAGE_LINUX_TOOLS
> +	select BR2_PACKAGE_LIBTRACEFS
> +	help
> +	  Linux 5.17 and later has 2 new tracers, osnoise and timerlat.
> +	  There tracers allow performing latency analysis, for which
> +	  the rtla tool provides wrapper commands to visualize and
> +	  extrace latency traces and reports.

I was a bit puzzled why you mentionned two tracers here, but [...]

[--SNIP--]
> diff --git a/package/linux-tools/linux-tool-rtla.mk.in b/package/linux-tools/linux-tool-rtla.mk.in
> new file mode 100644
> index 0000000000..a14571bb1c
> --- /dev/null
> +++ b/package/linux-tools/linux-tool-rtla.mk.in
> @@ -0,0 +1,36 @@
[--SNIP--]
> +# make rtla_install build and install by default documentation using rst2man
> +# but it's not available in Buildroot and we don't want manual files in target
> +# folder so let's simply install the resulting rtla binary and create symlinks
> +# like Linux does in its tools/tracing/rtla/Makefile
> +define RTLA_INSTALL_TARGET_CMDS
> +	$(INSTALL) -m 0755 -D $(LINUX_DIR)/tools/tracing/rtla/rtla $(TARGET_DIR)/usr/bin
> +	ln -sf rtla $(TARGET_DIR)/usr/bin/osnoise
> +	ln -sf rtla $(TARGET_DIR)/usr/bin/hwnoise
> +	ln -sf rtla $(TARGET_DIR)/usr/bin/timerlat

[...] here you install three symlinks, with hwnoise not mentioned in the
help text above.

In fact,v5.1 indtroduced osnoise and timerlat. hwnoise only arrived in
6.3, with commit 1f428356c38d (rtla: Add hwnoise tool).

So you cna't install the hwnoise symlink unconditionally.

Can you try to finda solution to that, please?

Maybe grep in Makefile to see what to install?

Regards,
Yann E. MORIN.

> +endef
> -- 
> 2.34.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list