Compare commits

..

No commits in common. "c9s" and "c8-beta" have entirely different histories.
c9s ... c8-beta

5 changed files with 198 additions and 0 deletions

1
.gitignore vendored
View File

@ -0,0 +1 @@
SOURCES/rtla-6.6.0.tar.bz2

1
.rtla.metadata Normal file
View File

@ -0,0 +1 @@
731b218995866082bb9ff80ca719a02ecd6d7734 SOURCES/rtla-6.6.0.tar.bz2

View File

@ -0,0 +1,34 @@
From 696444a544ecd6d62c1edc89516b376cefb28929 Mon Sep 17 00:00:00 2001
From: Colin Ian King <colin.i.king@gmail.com>
Date: Thu, 27 Jul 2023 16:01:17 +0100
Subject: [PATCH] rtla: Fix uninitialized variable found
Variable found is not being initialized, in the case where the desired
mount is not found the variable contains garbage. Fix this by initializing
it to zero.
Link: https://lore.kernel.org/all/20230727150117.627730-1-colin.i.king@gmail.com/
Fixes: a957cbc02531 ("rtla: Add -C cgroup support")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org>
---
src/utils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/utils.c b/src/utils.c
index 623a38908ed5..c769d7b3842c 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -538,7 +538,7 @@ static const int find_mount(const char *fs, char *mp, int sizeof_mp)
{
char mount_point[MAX_PATH];
char type[100];
- int found;
+ int found = 0;
FILE *fp;
fp = fopen("/proc/mounts", "r");
--
2.42.0

View File

@ -0,0 +1,50 @@
From 07ad224f2416e7c9411fd095fef148c67011eb49 Mon Sep 17 00:00:00 2001
From: root <root@hpe-dl160gen8-01.hpe2.lab.eng.bos.redhat.com>
Date: Wed, 20 Dec 2023 13:08:28 -0500
Subject: [PATCH] rtla: Use SYS_gettid for gettid
Use SYS_gettid for gettid since gittid is not available in the version
of glibc in rhel8.x
Also add the -lpthread to the flags in the Makefile for
pthread_setname_np
Signed-off-by: root <root@hpe-dl160gen8-01.hpe2.lab.eng.bos.redhat.com>
---
Makefile | 2 +-
src/timerlat_u.c | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 2456a399eb9a..db85545e9ec1 100644
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ TRACEFS_HEADERS := $$($(PKG_CONFIG) --cflags libtracefs)
CFLAGS := -O -g -DVERSION=\"$(VERSION)\" $(FOPTS) $(MOPTS) $(WOPTS) $(TRACEFS_HEADERS) $(EXTRA_CFLAGS)
LDFLAGS := -ggdb $(EXTRA_LDFLAGS)
-LIBS := $$($(PKG_CONFIG) --libs libtracefs)
+LIBS := $$($(PKG_CONFIG) --libs libtracefs) -lpthread
SRC := $(wildcard src/*.c)
HDR := $(wildcard src/*.h)
diff --git a/src/timerlat_u.c b/src/timerlat_u.c
index 01dbf9a6b5a5..e8d0ec92c8d2 100644
--- a/src/timerlat_u.c
+++ b/src/timerlat_u.c
@@ -16,6 +16,12 @@
#include <sys/wait.h>
#include <sys/prctl.h>
+#include <sys/syscall.h>
+#ifndef SYS_gettid
+#error "SYS_gettid unavailable"
+#endif
+#define gettid() ((pid_t)syscall(SYS_gettid))
+
#include "utils.h"
#include "timerlat_u.h"
--
2.43.0

112
SPECS/rtla.spec Normal file
View File

@ -0,0 +1,112 @@
Name: rtla
Version: 6.6.0
Release: 1%{?dist}
Summary: Real-Time Linux Analysis tools
License: GPLv2
URL: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
# The Source0 rtla-5.14.0.tar.bz2 file was created from git
# tag kernel-5.14.0-204.el9
# and from the tools/tracing/rtla directory issuing make tarball
Source0: rtla-6.6.0.tar.bz2
BuildRequires: gcc
BuildRequires: python3-docutils
BuildRequires: libtraceevent-devel >= 1.5.3
BuildRequires: libtracefs-devel >= 1.3.1
Requires: libtraceevent >= 1.5.3
Requires: libtracefs >= 1.3.1
# Patches
Patch01: rtla-Fix-uninitialized-variable-found.patch
Patch02: rtla-Use-SYS_gettid-for-gettid.patch
%description
The rtla meta-tool includes a set of commands that aims to analyze
the real-time properties of Linux. Instead of testing Linux as a black box,
rtla leverages kernel tracing capabilities to provide precise information
about the properties and root causes of unexpected results.
%prep
%setup -q -n %{name}-%{version}
%patch1 -p1
%patch2 -p1
%build
%make_build
%install
install -d -m 755 %{buildroot}/%{_bindir}
install -m 755 rtla %{buildroot}/%{_bindir}/rtla
install -d -m 755 %{buildroot}/%{_mandir}
make DESTDIR=%{buildroot} -C Documentation clean
make DESTDIR=%{buildroot} -C Documentation
make DESTDIR=%{buildroot} -C Documentation install
(cd %{buildroot}
ln -sf rtla ./%{_bindir}/osnoise
ln -sf rtla ./%{_bindir}/timerlat
)
%files
%{_bindir}/rtla
%{_bindir}/osnoise
%{_bindir}/timerlat
%doc
%{_mandir}/man1/rtla-osnoise-hist.1.gz
%{_mandir}/man1/rtla-osnoise-top.1.gz
%{_mandir}/man1/rtla-osnoise.1.gz
%{_mandir}/man1/rtla-timerlat-hist.1.gz
%{_mandir}/man1/rtla-timerlat-top.1.gz
%{_mandir}/man1/rtla-timerlat.1.gz
%{_mandir}/man1/rtla.1.gz
%{_mandir}/man1/rtla-hwnoise.1.gz
%changelog
* Mon Dec 18 2023 John Kacur <jkacur@redhat.com> - 6.6.0-1
Update to rtla in linux-6.6.0
- Add patch to use SYS_gettid and add -lpthread to the Makefile
Resolves: RHEL-10081
* Fri Jul 14 2023 John Kacur <jkacur@redhat.com> - 5.14.0-8
- Add rtla hwnoise
Resolves: bz2175295
jiraProject == RHELPLAN-150659
* Fri Jul 14 2023 John Kacur <jkacur@redhat.com> - 5.14.0-7
- Add rtla timerlat auto analysis
Resolves: rhbz#2175292
jiraProject == RHELPLAN-150657
* Tue May 09 2023 John Kacur <jkacur@redhat.com> - 5.14.0-6
- Forward port the tests directory for ci testing
Resolves: rhbz#2196611
jiraProject == RHELPLAN-156801
* Fri May 05 2023 John Kacur <jkacur@redhat.com> - 5.14.0-5
- Correct commandline example
Resolves: rhbz#2189440
jiraProject == RHELPLAN-155623
* Thu Jan 26 2023 John Kacur <jkacur@redhat.com> - 5.14.0-4
- Add a gating test for rtla
Resolves: rhbz#2164877
jiraProject == RHELPLAN-146610
* Thu Jan 26 2023 John Kacur <jkacur@redhat.com> - 5.14.0-3
- Fix exit status when returning from calls to usage()
Resolves: rhbz#2161423
jiraProject == RHELPLAN-145250
* Tue Dec 13 2022 John Kacur <jkacur@redhat.com> - 5.14.0-2
- A few spec file improvements
Resolves: rhbz#2075203
jiraProject == RHELPLAN-142262
* Wed Dec 07 2022 John Kacur <jkacur@redhat.com> - 5.14.0-1
- Initial build of rtla