2021-02-24 06:14:04 +00:00
|
|
|
Name: stalld
|
2021-06-09 04:19:21 +00:00
|
|
|
Version: 1.11
|
2021-06-04 04:11:27 +00:00
|
|
|
Release: 1%{?dist}
|
2021-02-24 06:14:04 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
BuildRequires: glibc-devel
|
|
|
|
BuildRequires: gcc
|
|
|
|
BuildRequires: make
|
|
|
|
BuildRequires: systemd-rpm-macros
|
|
|
|
|
|
|
|
Requires: systemd
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
%build
|
|
|
|
%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}
|
|
|
|
|
|
|
|
%files
|
|
|
|
%{_bindir}/%{name}
|
|
|
|
%{_bindir}/throttlectl
|
|
|
|
%{_unitdir}/%{name}.service
|
|
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/stalld
|
|
|
|
%doc %{_docdir}/README.md
|
|
|
|
%doc %{_mandir}/man8/stalld.8*
|
|
|
|
%license gpl-2.0.txt
|
|
|
|
|
|
|
|
%post
|
|
|
|
%systemd_post %{name}.service
|
|
|
|
|
|
|
|
%preun
|
|
|
|
%systemd_preun %{name}.service
|
|
|
|
|
|
|
|
%postun
|
|
|
|
%systemd_postun_with_restart %{name}.service
|
|
|
|
|
|
|
|
%changelog
|
2021-06-09 04:19:21 +00:00
|
|
|
* 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)
|
|
|
|
|
2021-06-04 04:11:27 +00:00
|
|
|
* 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
|
|
|
|
|
2021-02-24 06:14:04 +00:00
|
|
|
* 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
|
|
|
|
|
|
|
|
* Wed Jan 20 2021 Clark Williams <williams@redhat.com> - 1.5-1
|
|
|
|
- fix signal handler to catch SIGTERM
|
|
|
|
|
|
|
|
* Fri Dec 11 2020 Clark Williams <williams@redhat.com> - 1.4-1
|
|
|
|
- stalld: Set rt_runtime to -1 before trying the SCHED_DEADLINE
|
|
|
|
- Fix incorrect recursion of specfile version field
|
|
|
|
|
|
|
|
* Fri Nov 20 2020 Clark Williams <williams@redhat.com> - 1.3-1
|
|
|
|
- Readme: Add information about repositories
|
|
|
|
- Add version management and version option
|
|
|
|
- create doc and scripts directory and add info on releases
|
|
|
|
|
|
|
|
* Mon Nov 2 2020 Clark Williams <williams@redhat.com> - 1.2-1
|
|
|
|
- utils.c: added info() functions
|
|
|
|
- detect and correctly parse old-style /proc/sched_debug
|
|
|
|
- src/stalld: Fix an retval check while reading sched_debug
|
|
|
|
- src/throttling: Fix a compilation warning
|
|
|
|
- ensure we only count task lines in old-format sched_debug info
|
|
|
|
- Add comments, clean up trailing whitespace
|
|
|
|
- src/utils: Fix runtime parameters check
|
|
|
|
- stalld: Do not take actions if log_only is set
|
|
|
|
- remove warning from parse_old_task_format
|
|
|
|
|
|
|
|
* Tue Oct 27 2020 Clark Williams <williams@redhat.com> - 1.1-1
|
|
|
|
- Fix an option in README.md; consistency in user facing docs.
|
|
|
|
- Makefile: add 'static' target to link stalld statically
|
|
|
|
- gitignore: ignore object files and the stalld executable
|
|
|
|
- use FIFO for boosting (v3)
|
|
|
|
- stalld.c: fix sched_debug parsing and modify waiting task parsing
|
|
|
|
- redhat: update release for features and bugfix
|
|
|
|
- stalld: Do not die if sched_debug returns an invalid value
|
|
|
|
- src/stalld: Do not die if the comm is too large
|
|
|
|
- src/stalld: Do not die if cannot write a message to the log
|
|
|
|
- src/stalld: Do not die if the main runs while a thread is monitoring the CPU
|
|
|
|
- implement RT throttling management and refactor source files
|
|
|
|
- more refactoring
|
|
|
|
- src/stalld: Reuse already read nr_running nr_rt_running
|
|
|
|
- src/stalld: Gracefully handle CPUs not found on sched_debug
|
|
|
|
- src/stalld: Use dynamically allocated memory to read sched_debug
|
|
|
|
- src/utils: Die with a divizion by zero if verbose
|
|
|
|
- src/stalld: Add config_buffer_size variable
|
|
|
|
- src/stalld: Increase the sched_debug read buffer if it gets too small
|
|
|
|
- src/stalld: Fix an retval check while reading sched_debug
|
|
|
|
- src/throttling: Fix a compilation warning
|
|
|
|
|
|
|
|
* Sun Oct 4 2020 Clark Williams <williams@redhat.com> - 1.0-4
|
|
|
|
- Fix an option in README.md; consistency in user facing docs.
|
|
|
|
- gitignore: ignore object files and the stalld executable
|
|
|
|
- Makefile: add 'static' target to link stalld statically
|
|
|
|
- use FIFO for boosting (v3)
|
|
|
|
- stalld: update usage message to include --force_fifo/-F option
|
|
|
|
- stalld.c: fix sched_debug parsing and modify waiting task parsing
|
|
|
|
|
|
|
|
* Tue Sep 1 2020 Clark Williams <williams@redhat.com> - 1.0-3
|
|
|
|
- Place BuildRequires on individual lines
|
|
|
|
- Fix changelog notations
|
|
|
|
- Modify build command to pass in CFLAGS and LDFLAGS
|
|
|
|
- fix compiler warnings in stalld.c
|
|
|
|
|
|
|
|
* Mon Aug 31 2020 Clark Williams <williams@redhat.com> - 1.0-2
|
|
|
|
- use _docdir macro for README.md
|
|
|
|
- use _mandir macro for stalld.8 manpage
|
|
|
|
- use tabs for spacing
|
|
|
|
- added push Makefile target to copy latest to upstream URL
|
|
|
|
|
|
|
|
* Tue Aug 25 2020 Clark Williams <williams@redhat.com> - 1.0-1
|
|
|
|
- rename project to stalld
|
|
|
|
- set version to 1.0
|
|
|
|
- clean up rpmlint complaints
|
|
|
|
|
|
|
|
* Fri Aug 21 2020 Clark Williams <williams@redhat.com> - 0.2-1
|
|
|
|
- add pidfile logic
|
|
|
|
|
|
|
|
* Thu Aug 20 2020 Clark Williams <williams@redhat.com> - 0.1-1
|
|
|
|
- Added systemd service to redhat subdirectory
|
|
|
|
- added make and rpm logic for systemd files
|
|
|
|
|
|
|
|
* Wed Aug 19 2020 Clark Williams <williams@redhat.com> - 0.0-1
|
|
|
|
- initial version of specfile
|
|
|
|
- Makefile mods for RPM builds
|
|
|
|
- added systemd service and config files
|