summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorFlorian Schmaus <flo@geekplace.eu>2024-06-26 14:37:52 +0200
committerLuca Boccassi <luca.boccassi@gmail.com>2024-06-26 20:54:53 +0200
commit016e9d8d08ce66f5e81b42e0a0db398afc17336a (patch)
tree5aa94451978ef401b9dbbb794d6ebc8541206f08 /meson.build
parentcryptsetup: improve TPM2 blob display (diff)
downloadsystemd-016e9d8d08ce66f5e81b42e0a0db398afc17336a.tar.xz
systemd-016e9d8d08ce66f5e81b42e0a0db398afc17336a.zip
core/exec-invoke: use sched_setattr instead of sched_setscheduler
The kernel's sched_setattr interface allows for more control over a processes scheduling attributes as the previously used sched_setscheduler interface. Using sched_setattr is also the prerequisite for support of utilization clamping (UCLAMP [1], see #26705) and allows to set sched_runtime. The latter, sched_runtime, will probably become a relevant scheduling parameter of the EEVDF scheduler [2, 3], and therefore will not only apply to processes scheduled via SCHED_DEADLINE, but also for processes scheduled via SCHED_OTHER/SCHED_BATCH (i.e., most processes). 1: https://docs.kernel.org/next/scheduler/sched-util-clamp.html 2: https://lwn.net/Articles/969062/ 3: https://lwn.net/ml/linux-kernel/20240405110010.934104715@infradead.org/
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build3
1 files changed, 3 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index aa36e72b02..ddad82ddc9 100644
--- a/meson.build
+++ b/meson.build
@@ -547,6 +547,7 @@ decl_headers = '''
#include <uchar.h>
#include <sys/mount.h>
#include <sys/stat.h>
+#include <sched.h>
'''
foreach decl : ['char16_t',
@@ -554,6 +555,7 @@ foreach decl : ['char16_t',
'struct mount_attr',
'struct statx',
'struct dirent64',
+ 'struct sched_attr',
]
# We get -1 if the size cannot be determined
@@ -601,6 +603,7 @@ foreach ident : [
#include <unistd.h>'''], # no known header declares pivot_root
['ioprio_get', '''#include <sched.h>'''], # no known header declares ioprio_get
['ioprio_set', '''#include <sched.h>'''], # no known header declares ioprio_set
+ ['sched_setattr', '''#include <sched.h>'''], # no known header declares sched_setattr
['name_to_handle_at', '''#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>'''],