Check if sched_attr is in glibc

Resolves: RHEL-92952
Signed-off-by: John Kacur <jkacur@redhat.com>
This commit is contained in:
John Kacur 2025-05-22 11:48:14 -04:00
parent 94b5d30ae9
commit f862621b42
4 changed files with 44 additions and 3 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -1 +1 @@
SHA512 (stalld-1.19.8.tar.gz) = 58c8c113aebd766df45f6af0ee1fa86adbcaca2c2f04c5fc347fb380aa798c9bbefe721111ae073f7f1e882a74d0ea5ce88d4cc31024a473e66ace21571ccfd8
SHA512 (stalld-1.19.8.tar.bz2) = 349b715912d01544736102c79364d77de2a1e8b793bfd8613bfc3f19c874e8db63b54653eaa3fe831ff9ef6f721b85d180ea7b79a1d414246909700a96ce996e

View File

@ -0,0 +1,33 @@
From b79c1777ee16901b3d27cd25e50435f4f060cfa8 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
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 <jkacur@redhat.com>
---
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

View File

@ -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 <jkacur@redhat.com> - 1.19.8-2
- Check if sched_attr is in glibc
Resolves: RHEL-92952
* Wed May 21 2025 John Kacur <jkacur@redhat.com> - 1.19.8-1
- Rebase to stalld-1.19.8
Resolves: RHEL-92952