diff --git a/.gitignore b/.gitignore index e6167c9..78b45cd 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /stalld-1.19.5.tar.bz2 /stalld-1.19.6.tar.bz2 /stalld-1.19.8.tar.gz +/stalld-1.19.8.tar.bz2 diff --git a/sources b/sources index c683451..6d0859a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (stalld-1.19.8.tar.gz) = 58c8c113aebd766df45f6af0ee1fa86adbcaca2c2f04c5fc347fb380aa798c9bbefe721111ae073f7f1e882a74d0ea5ce88d4cc31024a473e66ace21571ccfd8 +SHA512 (stalld-1.19.8.tar.bz2) = 349b715912d01544736102c79364d77de2a1e8b793bfd8613bfc3f19c874e8db63b54653eaa3fe831ff9ef6f721b85d180ea7b79a1d414246909700a96ce996e diff --git a/stalld-sched_attr-Do-not-define-for-glibc-2.41.patch b/stalld-sched_attr-Do-not-define-for-glibc-2.41.patch new file mode 100644 index 0000000..72ac69e --- /dev/null +++ b/stalld-sched_attr-Do-not-define-for-glibc-2.41.patch @@ -0,0 +1,33 @@ +From b79c1777ee16901b3d27cd25e50435f4f060cfa8 Mon Sep 17 00:00:00 2001 +From: John Kacur +Date: Thu, 22 May 2025 11:33:07 -0400 +Subject: [PATCH] stalld: sched_attr: Do not define for glibc >= 2.41 + +glibc >=2.41 has definitions for struct sched_attr and +sched_setattr and sched_getattr + +Sometimes this is backported by distributions so define conditionally on +SCHED_ATTR_SIZE_VER0 + +Signed-off-by: John Kacur +--- + src/stalld.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/stalld.h b/src/stalld.h +index 0c4dcee503ca..7b4d7e60f5f7 100644 +--- a/src/stalld.h ++++ b/src/stalld.h +@@ -110,7 +110,8 @@ struct stalld_backend { + void (*destroy)(void); + }; + +-#if ! __GLIBC_PREREQ(2, 41) && !defined(GLIBC_HAS_SCHED_ATTR) ++/* sched_attr is not defined in glibc < 2.41, unless backported */ ++#ifndef SCHED_ATTR_SIZE_VER0 + + #ifdef __x86_64__ + # define __NR_sched_setattr 314 +-- +2.49.0 + diff --git a/stalld.spec b/stalld.spec index 8028999..1792b41 100644 --- a/stalld.spec +++ b/stalld.spec @@ -1,11 +1,11 @@ Name: stalld Version: 1.19.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Daemon that finds starving tasks and gives them a temporary boost License: GPLv2 URL: https://gitlab.com/rt-linux-tools/%{name}/%{name}.git -Source0: https://gitlab.com/rt-linux-tools/%{name}/-/archive/v%{version}/%{name}-%{version}.tar.gz +Source0: https://gitlab.com/rt-linux-tools/%{name}/-/archive/v%{version}/%{name}-%{version}.tar.bz2 BuildRequires: glibc-devel BuildRequires: gcc @@ -22,6 +22,9 @@ BuildRequires: libbpf-devel Requires: libbpf %endif +# Patches +Patch1: stalld-sched_attr-Do-not-define-for-glibc-2.41.patch + %define _hardened_build 1 %description @@ -61,6 +64,10 @@ allow 10 microseconds of runtime for 1 second of clock time. %systemd_postun_with_restart %{name}.service %changelog +* Thu May 22 2025 John Kacur - 1.19.8-2 +- Check if sched_attr is in glibc +Resolves: RHEL-92952 + * Wed May 21 2025 John Kacur - 1.19.8-1 - Rebase to stalld-1.19.8 Resolves: RHEL-92952