As requested by a customer, the Edge BU would like to support use cases where stalld can be beneficial on our RT products. We would be happy to have it maintained by us and included in our base images

OBS-URL: https://build.opensuse.org/package/show/Base:System/stalld?expand=0&rev=1
This commit is contained in:
2024-08-27 07:54:11 +00:00
committed by Git OBS Bridge
commit 627b476ab9
5 changed files with 104 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

12
pid-dir.patch Normal file
View File

@@ -0,0 +1,12 @@
diff --git a/systemd/stalld.service b/systemd/stalld.service
index d93110b..c80ba24 100644
--- a/systemd/stalld.service
+++ b/systemd/stalld.service
@@ -7,6 +7,7 @@ Type=simple
# Type=forking
EnvironmentFile=/etc/sysconfig/stalld
ExecStartPre=/usr/bin/throttlectl off
+ExecStartPre=/usr/bin/mkdir -p /run/stalld
# In case the regex passed to IT or IP includes C escape sequences,
# use ${IT} or ${IP} instead of $IT or $IP

BIN
stalld-v1.19.3.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

65
stalld.spec Normal file
View File

@@ -0,0 +1,65 @@
Name: stalld
Version: 1.19.3
Release: 1%{?dist}
Summary: Daemon that finds starving tasks and gives them a temporary boost
Vendor: SUSE Linux
License: GPL-2.0-or-later AND GPL-2.0-only
URL: https://gitlab.com/rt-linux-tools/%{name}/%{name}.git
Source0: stalld-v1.19.3.tar.bz2
Patch0: pid-dir.patch
BuildRequires: glibc-devel
BuildRequires: gcc
BuildRequires: make
Requires: systemd
Requires(post): %fillup_prereq
%description
The stalld program monitors the set of system threads,
looking for threads that are ready-to-run but have not
been given processor time for some threshold period.
When a starving thread is found, it is given a temporary
boost using the SCHED_DEADLINE policy. The default is to
allow 10 microseconds of runtime for 1 second of clock time.
%prep
%autosetup -v -p1 -n %{name}-v%{version}
%build
%make_build USE_BPF=0 SOPTS="" CFLAGS="%{optflags} %{build_cflags} -DVERSION="\\\"%{version}\\\""" stalld
%install
%make_install DOCDIR=%{_docdir} MANDIR=%{_mandir} BINDIR=%{_bindir} DATADIR=%{_datadir} VERSION=%{version}
%make_install -C systemd UNITDIR=%{_unitdir}
mkdir -p %{buildroot}%{_fillupdir}
mv %{buildroot}%{_sysconfdir}/sysconfig/%{name} %{buildroot}%{_fillupdir}/sysconfig.%{name}
%files
%{_bindir}/%{name}
%{_bindir}/throttlectl
%{_unitdir}/%{name}.service
%{_fillupdir}/sysconfig.%{name}
%doc %{_docdir}/README.md
%doc %{_mandir}/man8/stalld.8*
%license gpl-2.0.txt
%pre
%service_add_pre %{name}.service
%post
%fillup_only
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%changelog
* Mon Jun 3 2024 Marco Chiappero <marco.chiappero@suse.com> - 1.19.3
- Initial package