Introduce stalld v1.19.6 package
Introduce a new package to bundle the stalld program to facilitate the inclusion of the stalld for monitoring and boosting tasks that may be starved from real-time applications that have a higher scheduling priority. Release tarball: https://gitlab.com/rt-linux-tools/stalld/-/releases/v1.19.6 - install location change for stalld config file /etc/sysconfig/stalld to /etc/default/stalld - Add $CUSTOM stalld startup arguments Test Plan: 1. Build the stalld package Verify downloader gets the correct tarball Verify build-pkgs -c -p stalld is successful 2. Build iso 3. AIO-SX : standard kernel install systemctl status stalld start the stalld service systemctl start stalld switch to lowlatency kernel and also start the stalld service 4. Verify content of - /etc/default/stalld - /usr/lib/systemd/system/stalld.service start and stop stalld service Story: 2011378 Task: 52175 Change-Id: I1e29c999d31c6cb8c9402e0b3eda407b1801c4f5 Signed-off-by: Kyale, Eliud <Eliud.Kyale@windriver.com>
This commit is contained in:
21
base/stalld/PKG-INFO
Normal file
21
base/stalld/PKG-INFO
Normal file
@ -0,0 +1,21 @@
|
||||
Metadata-Version: 1.1
|
||||
Name: stalld
|
||||
Version: 1.19.6
|
||||
Summary: stall daemon
|
||||
Home-page: https://gitlab.com/rt-linux-tools/stalld
|
||||
Author: RedHat
|
||||
Author-email:
|
||||
License: GPLv2
|
||||
|
||||
Description:
|
||||
The stalld program (which stands for 'stall daemon') is a
|
||||
mechanism to prevent the starvation of operating system threads in a
|
||||
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 system, looking for a thread
|
||||
that has been on a run queue (i.e. ready to run) for a specifed length
|
||||
of time without being run. This 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.
|
||||
|
||||
Platform: UNKNOWN
|
5
base/stalld/debian/deb_folder/changelog
Normal file
5
base/stalld/debian/deb_folder/changelog
Normal file
@ -0,0 +1,5 @@
|
||||
stalld (1.19.6) UNRELEASED; urgency=low
|
||||
|
||||
* Initial patching of debian package
|
||||
|
||||
Eliud Kyale <Eliud.Kyale@windriver.com> Wed, 11 Dec 2024 00:00:00 +0000
|
21
base/stalld/debian/deb_folder/control
Normal file
21
base/stalld/debian/deb_folder/control
Normal file
@ -0,0 +1,21 @@
|
||||
Source: stalld
|
||||
Section: admin
|
||||
Priority: optional
|
||||
Maintainer: Starlingx Developers <starlingx-discuss@lists.starlingx.io>
|
||||
Build-Depends: debhelper-compat (= 13), bpftool, libbpf-dev, llvm, clang, gcc-multilib
|
||||
Standards-Version: 4.5.1
|
||||
Homepage: https://www.starlingx.io
|
||||
|
||||
Package: stalld
|
||||
Architecture: any
|
||||
Multi-Arch: foreign
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends}
|
||||
Description: The stalld program (which stands for 'stall daemon') is a
|
||||
mechanism to prevent the starvation of operating system threads in a
|
||||
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 system, looking for a thread
|
||||
that has been on a run queue (i.e. ready to run) for a specifed length
|
||||
of time without being run. This 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.
|
42
base/stalld/debian/deb_folder/copyright
Normal file
42
base/stalld/debian/deb_folder/copyright
Normal file
@ -0,0 +1,42 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: stalld
|
||||
Upstream-Contact: https://gitlab.com/rt-linux-tools
|
||||
Source: https://gitlab.com/rt-linux-tools/stalld
|
||||
|
||||
Files: *
|
||||
Copyright: Copyright (C) 2020 Red Hat Inc
|
||||
License: GPL-2.0+
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General Public License
|
||||
Version 2 can be found in `/usr/share/common-licenses/GPL-2'.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: (c) 2025 Wind River Systems, Inc.
|
||||
License: Apache-2
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. The ASF licenses this
|
||||
file to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
10
base/stalld/debian/deb_folder/rules
Executable file
10
base/stalld/debian/deb_folder/rules
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/make -f
|
||||
#export DH_VERBOSE = 1
|
||||
|
||||
DEBIAN_DESTDIR := $(CURDIR)/debian/tmp
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_install:
|
||||
dh_auto_install -- prefix=/usr mandir=/usr/share/man
|
1
base/stalld/debian/deb_folder/source/format
Normal file
1
base/stalld/debian/deb_folder/source/format
Normal file
@ -0,0 +1 @@
|
||||
3.0 (native)
|
10
base/stalld/debian/meta_data.yaml
Normal file
10
base/stalld/debian/meta_data.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
debname: stalld
|
||||
debver: 1.19.6
|
||||
dl_path:
|
||||
name: stalld-v1.19.6.tar.gz
|
||||
url: https://gitlab.com/rt-linux-tools/stalld/-/archive/v1.19.6/stalld-v1.19.6.tar.gz
|
||||
sha256sum: a185756f5d4ea239120322aa8b4f2a37c76653e41295f69e7eb37dcd26313bd0
|
||||
revision:
|
||||
dist: $STX_DIST
|
||||
PKG_GITREVCOUNT: true
|
@ -0,0 +1,93 @@
|
||||
From f0811a7de61bbf1599aebb0815644d4733a3ebbf Mon Sep 17 00:00:00 2001
|
||||
From: "Kyale, Eliud" <Eliud.Kyale@windriver.com>
|
||||
Date: Fri, 28 Mar 2025 13:07:51 -0400
|
||||
Subject: [PATCH] Build and compatibility for StarlingX.
|
||||
|
||||
Disable BPF compiler flag in MakeFile
|
||||
Disable redhat specific headers in Makefile
|
||||
Change Environment config to /etc/default/stalld
|
||||
Add $CUSTOM enviroment variable to stalld startup arguments
|
||||
|
||||
Signed-off-by: Kyale, Eliud <Eliud.Kyale@windriver.com>
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
systemd/Makefile | 8 ++++----
|
||||
systemd/stalld.service | 5 +++--
|
||||
3 files changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 5875e0d..95f228c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -9,7 +9,7 @@ ARCH=$(shell uname -m)
|
||||
endif
|
||||
$(info ARCH=$(ARCH))
|
||||
|
||||
-USE_BPF := 1
|
||||
+USE_BPF := 0
|
||||
FCF_PROTECTION := -fcf-protection
|
||||
MTUNE := -mtune=generic
|
||||
M64 := -m64
|
||||
@@ -48,7 +48,7 @@ MOPTS := $(strip $(MTUNE)) $(strip $(M64)) -mno-omit-leaf-frame-pointer
|
||||
|
||||
WOPTS := -Wall -Werror=format-security
|
||||
|
||||
-SOPTS := -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
|
||||
+# SOPTS := -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1
|
||||
|
||||
DEFS := -DUSE_BPF=$(USE_BPF) -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS
|
||||
|
||||
diff --git a/systemd/Makefile b/systemd/Makefile
|
||||
index 393e64b..3a0cb1a 100644
|
||||
--- a/systemd/Makefile
|
||||
+++ b/systemd/Makefile
|
||||
@@ -1,17 +1,17 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-# Red Hat specific Makefile
|
||||
+# Debian specific Makefile
|
||||
|
||||
INSTALL := install
|
||||
UNITDIR := /usr/lib/systemd/system
|
||||
|
||||
install:
|
||||
- $(INSTALL) -m 755 -d $(DESTDIR)/etc/sysconfig
|
||||
- $(INSTALL) stalld.conf -m 644 $(DESTDIR)/etc/sysconfig/stalld
|
||||
+ $(INSTALL) -m 755 -d $(DESTDIR)/etc/default
|
||||
+ $(INSTALL) stalld.conf -m 644 $(DESTDIR)/etc/default/stalld
|
||||
$(INSTALL) -m 755 -d $(DESTDIR)$(UNITDIR)
|
||||
$(INSTALL) stalld.service -m 644 $(DESTDIR)$(UNITDIR)
|
||||
|
||||
uninstall:
|
||||
- rm -f $(DESTDIR)/etc/sysconfig/stalld
|
||||
+ rm -f $(DESTDIR)/etc/default/stalld
|
||||
rm -f 644 $(DESTDIR)$(UNITDIR)/stalld.service
|
||||
clean:
|
||||
@rm -rf *~
|
||||
diff --git a/systemd/stalld.service b/systemd/stalld.service
|
||||
index 4d788c8..2411926 100644
|
||||
--- a/systemd/stalld.service
|
||||
+++ b/systemd/stalld.service
|
||||
@@ -5,17 +5,18 @@ Description=Stall Monitor
|
||||
[Service]
|
||||
Type=simple
|
||||
# Type=forking
|
||||
-EnvironmentFile=/etc/sysconfig/stalld
|
||||
+EnvironmentFile=/etc/default/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
|
||||
-ExecStart=/usr/bin/stalld --systemd $CLIST $AGGR $BP $BR $BD $THRESH $LOGGING $FG $PF $IT $IP $BE
|
||||
+ExecStart=/usr/bin/stalld --systemd $CLIST $AGGR $BP $BR $BD $THRESH $LOGGING $FG $PF $IT $IP $BE $CUSTOM
|
||||
ExecStopPost=/usr/bin/throttlectl on
|
||||
CPUSchedulingPolicy=fifo
|
||||
CPUSchedulingPriority=10
|
||||
Restart=always
|
||||
|
||||
+
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
--
|
||||
2.34.1
|
||||
|
1
base/stalld/debian/patches/series
Normal file
1
base/stalld/debian/patches/series
Normal file
@ -0,0 +1 @@
|
||||
0001-Build-and-compatibility-for-StarlingX.patch
|
@ -410,6 +410,9 @@ runc
|
||||
shim-helpers-amd64-signed-template
|
||||
shim-unsigned
|
||||
|
||||
#stalld
|
||||
stalld
|
||||
|
||||
#synce4l
|
||||
synce4l
|
||||
|
||||
|
@ -11,6 +11,7 @@ base/lsb
|
||||
base/openssl
|
||||
base/ca-certificates
|
||||
base/pf-bb-config
|
||||
base/stalld
|
||||
base/synce4l
|
||||
base/systemd
|
||||
base/systemd-presets
|
||||
|
Reference in New Issue
Block a user