diff options
author | Clark Williams <clark.williams@gmail.com> | 2020-08-25 14:43:43 -0500 |
---|---|---|
committer | Clark Williams <clark.williams@gmail.com> | 2020-08-25 14:43:43 -0500 |
commit | e450222b2025b5e2ae70f9cb09167f3062e2e8a9 (patch) | |
tree | 355d17847c80e9af385add47823bd58609f2ae7d | |
parent | 72dd1b11a0e51226da99ab485d09e0b9e779ce67 (diff) | |
download | stalld-e450222b2025b5e2ae70f9cb09167f3062e2e8a9.tar.gz |
rename project to starved (for Starvation Daemon)
Came up with a shorter name so ps output doesn't get cluttered
Signed-off-by: Clark Williams <clark.williams@gmail.com>
-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | redhat/Makefile | 6 | ||||
-rw-r--r-- | redhat/starvation_monitor.service | 11 | ||||
-rw-r--r-- | redhat/starved.conf (renamed from redhat/starvation_monitor.conf) | 6 | ||||
-rw-r--r-- | redhat/starved.service | 11 | ||||
-rw-r--r-- | redhat/starved.spec (renamed from redhat/starvation_monitor.spec) | 12 | ||||
-rw-r--r-- | src/starved.c (renamed from src/starvation_monitor.c) | 2 |
8 files changed, 37 insertions, 35 deletions
@@ -1,5 +1,5 @@ -NAME := starvation_monitor -VERSION := 0.2 +NAME := starved +VERSION := 1.0 INSTALL=install @@ -9,19 +9,19 @@ DIRS := src redhat FILES := Makefile README.md TARBALL := $(NAME)-$(VERSION).tar.xz -all: src/starvation_monitor.o - $(CC) -o starvation_monitor -ggdb -lpthread src/starvation_monitor.o +all: src/starved.o + $(CC) -o starved -ggdb -lpthread src/starved.o .PHONY: install install: $(INSTALL) -m 755 -d $(DESTDIR)/usr/bin $(DESTDIR)/usr/share/$(NAME)-$(VERSION) - $(INSTALL) starvation_monitor -m 755 $(DESTDIR)/usr/bin/ + $(INSTALL) starved -m 755 $(DESTDIR)/usr/bin/ $(INSTALL) README.md -m 644 $(DESTDIR)/usr/share/$(NAME)-$(VERSION) .PHONY: clean tarball redhat clean: - @test ! -f starvation_monitor || rm starvation_monitor - @test ! -f src/starvation_monitor.o || rm src/starvation_monitor.o + @test ! -f starved || rm starved + @test ! -f src/starved.o || rm src/starved.o @test ! -f $(TARBALL) || rm -f $(TARBALL) @make -C redhat clean @rm -rf *~ @@ -1,6 +1,6 @@ -# starvation_monitor +# starved -The starvation_monitor program is a mechanism to prevent the *starvation* of operating +The starved program is a mechanism to prevent the *starvation* of operating system threads in a real-time Linux system. The premise is to start up on a *housekeeping* cpu (one that is not used for real-application purposes) and to periodically monitor the state of each thread in the @@ -10,16 +10,16 @@ condition is usually hit when the thread is on the same cpu as a high-priority cpu-intensive task and therefore is being given no opportunity to run. -When a thread is judged to be starving, starvation_monitor changes +When a thread is judged to be starving, starved changes that thread to use the SCHED_DEADLINE policy and gives the thread a small slice of time for that cpu (specified on the command line). The thread then runs and when that timeslice is used, the thread is then -returned to its original scheduling policy and starvation_monitor then +returned to its original scheduling policy and starved then continues to monitor thread states. ## Command Line Options -`Usage: starvation_monitor [-l] [-v] [-k] [-s] [-f] [-h] +`Usage: starved [-l] [-v] [-k] [-s] [-f] [-h] [-c cpu-list] [-p time in ns] [-r time in ns] [-d time in seconds ] [-t time in seconds ]` diff --git a/redhat/Makefile b/redhat/Makefile index 81ded12..7959f56 100644 --- a/redhat/Makefile +++ b/redhat/Makefile @@ -20,12 +20,12 @@ rpmdirs: rpm: rpmdirs cp ../*.tar.xz SOURCES - rpmbuild -ba $(RPMARGS) starvation_monitor.spec + rpmbuild -ba $(RPMARGS) starved.spec clean: @rm -rf $(RPMDIRS) *~ install: $(INSTALL) -m 755 -d $(DESTDIR)/etc/systemd/system - $(INSTALL) starvation_monitor.conf -m 644 $(DESTDIR)/etc/systemd - $(INSTALL) starvation_monitor.service -m 644 $(DESTDIR)/etc/systemd/system + $(INSTALL) starved.conf -m 644 $(DESTDIR)/etc/systemd + $(INSTALL) starved.service -m 644 $(DESTDIR)/etc/systemd/system diff --git a/redhat/starvation_monitor.service b/redhat/starvation_monitor.service deleted file mode 100644 index fced98e..0000000 --- a/redhat/starvation_monitor.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Starvation Monitor - -[Service] -# Type=simple -Type=forking -EnvironmentFile=/etc/systemd/starvation_monitor.conf -ExecStart=/usr/bin/starvation_monitor $CLIST $AGGR $BP $BR $BD $THRESH $LOGGING $FG $PF - -[Install] -WantedBy=multi-user.target diff --git a/redhat/starvation_monitor.conf b/redhat/starved.conf index 8d9753d..cbbaad3 100644 --- a/redhat/starvation_monitor.conf +++ b/redhat/starved.conf @@ -1,5 +1,5 @@ # -# parameters for the starvation_monitor service +# parameters for the starved service # # list of cpus to monitor (default: all online) @@ -44,5 +44,5 @@ LOGGING= FG= # Write a pidfile -# ex: PF=--pidfile /run/starvation_monitor.pid -PF="--pidfile /run/starvation_monitor.pid" +# ex: PF=--pidfile /run/starved.pid +PF="--pidfile /run/starved.pid" diff --git a/redhat/starved.service b/redhat/starved.service new file mode 100644 index 0000000..59a68ff --- /dev/null +++ b/redhat/starved.service @@ -0,0 +1,11 @@ +[Unit] +Description=Starvation Monitor + +[Service] +# Type=simple +Type=forking +EnvironmentFile=/etc/systemd/starved.conf +ExecStart=/usr/bin/starved $CLIST $AGGR $BP $BR $BD $THRESH $LOGGING $FG $PF + +[Install] +WantedBy=multi-user.target diff --git a/redhat/starvation_monitor.spec b/redhat/starved.spec index fc05903..cff3cb6 100644 --- a/redhat/starvation_monitor.spec +++ b/redhat/starved.spec @@ -1,17 +1,17 @@ -Name: starvation_monitor -Version: 0.2 +Name: starved +Version: %(grep ^VERSION ../Makefile | awk '{print $3}') Release: 1%{?dist} Summary: daemon that finds starving tasks and gives them a temporary boost License: GPL -URL: https://github.com/bristot/starvation_monitor +URL: https://github.com/bristot/starved Source0: %{name}-%{version}.tar.xz BuildRequires: glibc-devel Requires: systemd %description -The starvation_monitor program monitors the set of system threads, looking for threads +The starved program monitors the set of system threads, looking for threads that are ready-to-run but have not been given cpu 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. @@ -32,8 +32,8 @@ make DESTDIR=$RPM_BUILD_ROOT -C redhat install %files /usr/bin/%{name} -/etc/systemd/starvation_monitor.conf -/etc/systemd/system/starvation_monitor.service +/etc/systemd/starved.conf +/etc/systemd/system/starved.service %doc /usr/share/%{name}-%{version}/README.md diff --git a/src/starvation_monitor.c b/src/starved.c index 445484c..f6b3809 100644 --- a/src/starvation_monitor.c +++ b/src/starved.c @@ -9,6 +9,8 @@ * SCHED_DEADLINE. In this way, the starving thread is able to make progress * causing a bounded Operating System noise (OS Noise). * + * SPDX-License-Identifier: GPL-2.0 + * */ #define _GNU_SOURCE |