Skip to content

Commit e7fad6d

Browse files
benjarobinthom24
authored andcommitted
rtla: add rtla package
This provides the rtla tool, which is useful to analyze the real-time properties of a Linux system. Signed-off-by: Benjamin Robin <[email protected]> Signed-off-by: Thomas Richard <[email protected]>
1 parent f32b122 commit e7fad6d

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

utils/rtla/Makefile

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# Copyright (C) 2026 Bootlin
4+
5+
include $(TOPDIR)/rules.mk
6+
include $(INCLUDE_DIR)/kernel.mk
7+
8+
PKG_NAME:=rtla
9+
PKG_VERSION:=$(LINUX_VERSION)
10+
11+
PKG_MAINTAINER:=Benjamin Robin <[email protected]>
12+
PKG_LICENSE:=GPL-2.0-only
13+
14+
include $(INCLUDE_DIR)/package.mk
15+
16+
define Package/rtla
17+
SECTION:=utils
18+
CATEGORY:=Utilities
19+
TITLE:=Real-Time Linux Analysis tools
20+
URL:=https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
21+
DEPENDS:= @USE_GLIBC @(KERNEL_OSNOISE_TRACER||KERNEL_TIMERLAT_TRACER) +libtracefs +libtraceevent
22+
endef
23+
24+
define Package/rtla/description
25+
The rtla meta-tool includes a set of commands that aims to analyze
26+
the real-time properties of Linux. Instead of testing Linux as a black box,
27+
rtla leverages kernel tracing capabilities to provide precise information
28+
about the properties and root causes of unexpected results.
29+
30+
Available commands are:
31+
- osnoise (requires osnoise tracer)
32+
- hwnoise (requires osnoise tracer)
33+
- timerlat (requires timerlat tracer)
34+
endef
35+
36+
MAKE_FLAGS = \
37+
CROSS_COMPILE="$(TARGET_CROSS)" \
38+
CC="$(TARGET_CC)" \
39+
CFLAGS='$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) -DVERSION="\"$(PKG_VERSION)\"" -I$(STAGING_DIR)/usr/include/traceevent' \
40+
LDFLAGS="$(TARGET_LDFLAGS)"
41+
42+
define Build/Compile
43+
$(MAKE) -C $(LINUX_DIR)/tools/tracing/rtla $(MAKE_FLAGS)
44+
endef
45+
46+
define Package/rtla/install
47+
$(INSTALL_DIR) $(1)/usr/bin
48+
$(INSTALL_BIN) $(LINUX_DIR)/tools/tracing/rtla/rtla $(1)/usr/bin
49+
endef
50+
51+
$(eval $(call BuildPackage,rtla))

0 commit comments

Comments
 (0)