Compare commits

...

No commits in common. "imports/c8-beta/stalld-1.6-1.el8" and "c8" have entirely different histories.

4 changed files with 169 additions and 9 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/stalld-1.6.tar.xz
SOURCES/stalld-1.19.1.tar.bz2

View File

@ -1 +0,0 @@
c380b72de1d7cd3d668a2478a3771cdfc7af0330 SOURCES/stalld-1.6.tar.xz

View File

@ -0,0 +1,31 @@
From c93cef85e7ec08d924ad6a4f90a8677cc1603950 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Wed, 14 Feb 2024 15:55:30 -0500
Subject: [PATCH] Start stalld service as initrc_t
Stalld currently runs as an unconfined_service_t.
Edit to service file so that the daemon is launched as an initrc_t.
Signed-off-by: Leah Leshchinsky <lleshchi@redhat.com>
Signed-off-by: John Kacur <jkacur@redhat.com>
---
systemd/stalld.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/systemd/stalld.service b/systemd/stalld.service
index d93110b1b43e..69f3ee728129 100644
--- a/systemd/stalld.service
+++ b/systemd/stalld.service
@@ -10,7 +10,7 @@ ExecStartPre=/usr/bin/throttlectl off
# In case the regex passed to IT or IP includes C escape sequences,
# use ${IT} or ${IP} instead of $IT or $IP
-ExecStart=/usr/bin/stalld --systemd $CLIST $AGGR $BP $BR $BD $THRESH $LOGGING $FG $PF $IT $IP
+ExecStart=/bin/sh -c "/usr/bin/stalld --systemd $CLIST $AGGR $BP $BR $BD $THRESH $LOGGING $FG $PF $IT $IP"
ExecStopPost=/usr/bin/throttlectl on
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10
--
2.43.0

View File

@ -1,11 +1,11 @@
Name: stalld
Version: 1.6
Release: 1%{?dist}
Version: 1.19.1
Release: 4%{?dist}
Summary: Daemon that finds starving tasks and gives them a temporary boost
License: GPLv2
URL: https://git.kernel.org/pub/scm/utils/stalld/stalld.git
Source0: https://jcwillia.fedorapeople.org/%{name}-%{version}.tar.xz
URL: https://gitlab.com/rt-linux-tools/%{name}/%{name}.git
Source0: https://gitlab.com/rt-linux-tools/%{name}/-/archive/v%{version}/%{name}-%{version}.tar.bz2
BuildRequires: glibc-devel
BuildRequires: gcc
@ -14,6 +14,17 @@ BuildRequires: systemd-rpm-macros
Requires: systemd
%ifnarch i686
BuildRequires: bpftool
BuildRequires: clang
BuildRequires: libbpf-devel
BuildRequires: llvm
Requires: libbpf
%endif
Patch0: Start-stalld-service-as-initrc_t.patch
%description
The stalld program monitors the set of system threads,
looking for threads that are ready-to-run but have not
@ -23,14 +34,14 @@ boost using the SCHED_DEADLINE policy. The default is to
allow 10 microseconds of runtime for 1 second of clock time.
%prep
%autosetup
%autosetup -p1
%build
%make_build CFLAGS="%{build_cflags} -DVERSION="\\\"%{version}\\\""" LDFLAGS="%{build_ldflags}"
%make_build CFLAGS="%{optflags} %{build_cflags} -DVERSION="\\\"%{version}\\\""" LDFLAGS="%{build_ldflags}"
%install
%make_install DOCDIR=%{_docdir} MANDIR=%{_mandir} BINDIR=%{_bindir} DATADIR=%{_datadir} VERSION=%{version}
%make_install -C redhat UNITDIR=%{_unitdir}
%make_install -C systemd UNITDIR=%{_unitdir}
%files
%{_bindir}/%{name}
@ -51,6 +62,125 @@ allow 10 microseconds of runtime for 1 second of clock time.
%systemd_postun_with_restart %{name}.service
%changelog
* Wed Feb 14 2024 John Kacur <jkacur@redhat.com> - 1.19.1-4
- Put back patch to run stalld service as initrc_t
Resolves: RHEL-8982
* Mon Feb 12 2024 John Kacur <jkacur@redhat.com> - 1.19.1-3
- Copying over missing tests directory
Resolves: RHEL-8982
* Mon Feb 12 2024 John Kacur <jkacur@redhat.com> - 1.19.1-2
- Add llvm as a build requirement
Resolves: RHEL-8982
* Fri Feb 09 2024 John Kacur <jkacur@redhat.com> - 1.19.1-1
- Rebase to v1.19.1 upstream
Resolves: RHEL-8982
* Tue Oct 18 2022 Leah Leshchinsky <lleshchi@redhat.com> - 1.17.1-1
- stalld: Fix memory leak in print_boosted_info()
- utils: Check if the system is in lockdown mode
- stalld: print process comm and cpu when boosting
Resolves: rhbz#2120800
* Thu Sep 08 2022 Leah Leshchinsky <lleshchi@redhat.com> - 1.17-2
- Start stalld service as initrc_t
Resolves:rhbz#2112366
* Thu Jul 14 2022 John Kacur <jkacur@redhat.com> - 1.17-1
- rebase to upstream v1.17
Resolves:rhbz#2107273
* Thu Mar 31 2022 Fernando Pacheco <fpacheco@redhat.com> - 1.16-1
- stald/utils: Space, lines and voids clenaups
- stalld: Add an option to easily set stalld as SCHED_DEADLINE
- stalld: Comments cleanup
- src/utils: Comments cleanup
- src/throttling: Comments cleanup
- src/stalld.h Comments cleanup
Resolves: rhbz#2068549
* Mon Nov 15 2021 Fernando Pacheco <fpacheco@redhat.com> - 1.15-1
- stalld: Fix incorrect open() return value checks
- stalld: Pass errno to strerror() on sig*set() failures
- throttling: Always null terminate sched_rt_runtime_us output
- stalld: Remove unreachable statement in detect_task_format()
- tests: Fix uninitialized value action.sa_mask
- utils: Bail if malloc() returns null in parse_cpu_list()
- stalld: Use correct format specifier for long types
Resolves: rhbz#1990057, rhbz#1996799, rhbz#1996825
* Mon Jul 19 2021 Fernando Pacheco <fpacheco@redhat.com> - 1.14.1-1
- stalld: Coding style cleanup
- stalld: spaces in place of <TAB>
- throttling: Use RT_RUNTIME_PATH in rt_throttling_is_off()
- throttling: Check open() on turn_off_rt_throttling
- throttling: Adjust variables in restore_rt_throttling()
- stalld.c: utils.c: Remove complex assignments from variable declarations
- stalld.h: Define MAX_PATH/DIR_PATH/FILE_NAME and use them
- stalld: Adjust variables in parse_old_task_format()
- utils.c: Use MAX_PATH for pidfile
- stalld.c: Remove variable declaration from the middle of the function
- stalld: Respect -l option in single threaded mode (1983100)
- utils: s/try_to_open_file/check_file_exists/
- utils: use check_file_exists in setup_hr_tick()
- utils: Check for the new sched_features path
* Fri Jul 02 2021 Fernando Pacheco <fpacheco@redhat.com> - 1.13-1
- stalld: Fix log message on boost_cpu_starving_vector()
- stalld: Add the overload control to the single-threaded mode
- stalld: Add the adaptive mode option
- stalld: Use the last mode set in the cmdline
- stalld: Fallback to the adaptive mode if force_fifo is selected
- stalld: Make single-threaded mode the default one (1920041)
- stalld.service: Always restart stalld on exit
- utils.c: Fail if user is not root
- utils.c: Make the path to sched_debug path dynamic (1977663)
* Tue Jun 29 2021 Fernando Pacheco <fpacheco@redhat.com> - 1.12-1
- stalld.8: fix diff cruft left in manpage source
- stalld.c: clean up handling of nr_running
- stalld.c: remove duplicate parameter to fill_waiting_task() (1934582)
- stalld.service: Run stalld as sched_fifo via systemd
- stalld: Add error handling in get_cpu_idle_time() (1966259)
- packaging: clean up Makefiles and rpm specfile (1972806)
- stalld: Always print current function for info messages
- stalld: Always print current function for warn messages
- stalld: Always print current function for die messages
- utils: change PATHMAX to 4096 (1934581)
* Thu May 13 2021 Clark Williams <williams@redhat.com> - 1.11-1
- redhat/stalld.spec: pick up gating test version for changelog
- utils.c: set daemon umask to restrict global write/execute (1934586)
- hardening fixes from coverity scan (1934590)
* Tue Apr 27 2021 Clark Williams <williams@redhat.com> - 1.10-1
- utils: Fix bounds check on cpu and end_cpu variables
- stalld: Support denylisting of tasks in stalld
- src/utils: use right argument for warning printf
* Wed Feb 17 2021 Clark Williams <williams@redhat.com> - 1.9-2
- update to pick up latest gating test
* Wed Feb 17 2021 Clark Williams <williams@redhat.com> - 1.9-1
- Set starvation threshold default to 30 seconds
- rework read buffer allocation to properly find page size
- Add the -g/--granularity option
- Change the default granularity to five seconds
- Implement idle detection
- Implement the single-threaded mode
- Add HRTICK_DL support
* Fri Feb 5 2021 Clark Williams <williams@redhat.com> - 1.8-1
- Fix Readiness Protocol Mismatch with systemd
- test01: update to use buildin atomic operations
- test01: add throttling check
* Tue Feb 2 2021 Clark Williams <williams@redhat.com> - 1.7-1
- rework detect_task_format and buffer_size logic
- make CFLAGS for local compile match rpmbuild CFLAGS
* Tue Jan 26 2021 Clark Williams <williams@redhat.com> - 1.6-1
- add systemd handling of RT Throttling