diff options
Diffstat (limited to 'aarch64-none-linux-gnu/libc/usr/include/linux/sched')
3 files changed, 76 insertions, 0 deletions
diff --git a/aarch64-none-linux-gnu/libc/usr/include/linux/sched/..install.cmd b/aarch64-none-linux-gnu/libc/usr/include/linux/sched/..install.cmd new file mode 100644 index 0000000..cddce53 --- /dev/null +++ b/aarch64-none-linux-gnu/libc/usr/include/linux/sched/..install.cmd @@ -0,0 +1 @@ +cmd_/data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-linux-gnu/stage-include/include/linux/sched/.install := /bin/sh scripts/headers_install.sh /data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-linux-gnu/stage-include/include/linux/sched ./include/uapi/linux/sched types.h; /bin/sh scripts/headers_install.sh /data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-linux-gnu/stage-include/include/linux/sched ./include/generated/uapi/linux/sched ; touch /data/jenkins/workspace/GNU-toolchain/arm-13/build-aarch64-none-linux-gnu/stage-include/include/linux/sched/.install diff --git a/aarch64-none-linux-gnu/libc/usr/include/linux/sched/.install b/aarch64-none-linux-gnu/libc/usr/include/linux/sched/.install new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/aarch64-none-linux-gnu/libc/usr/include/linux/sched/.install diff --git a/aarch64-none-linux-gnu/libc/usr/include/linux/sched/types.h b/aarch64-none-linux-gnu/libc/usr/include/linux/sched/types.h new file mode 100644 index 0000000..5131b2b --- /dev/null +++ b/aarch64-none-linux-gnu/libc/usr/include/linux/sched/types.h @@ -0,0 +1,75 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _LINUX_SCHED_TYPES_H +#define _LINUX_SCHED_TYPES_H + +#include <linux/types.h> + +struct sched_param { + int sched_priority; +}; + +#define SCHED_ATTR_SIZE_VER0 48 /* sizeof first published struct */ + +/* + * Extended scheduling parameters data structure. + * + * This is needed because the original struct sched_param can not be + * altered without introducing ABI issues with legacy applications + * (e.g., in sched_getparam()). + * + * However, the possibility of specifying more than just a priority for + * the tasks may be useful for a wide variety of application fields, e.g., + * multimedia, streaming, automation and control, and many others. + * + * This variant (sched_attr) is meant at describing a so-called + * sporadic time-constrained task. In such model a task is specified by: + * - the activation period or minimum instance inter-arrival time; + * - the maximum (or average, depending on the actual scheduling + * discipline) computation time of all instances, a.k.a. runtime; + * - the deadline (relative to the actual activation time) of each + * instance. + * Very briefly, a periodic (sporadic) task asks for the execution of + * some specific computation --which is typically called an instance-- + * (at most) every period. Moreover, each instance typically lasts no more + * than the runtime and must be completed by time instant t equal to + * the instance activation time + the deadline. + * + * This is reflected by the actual fields of the sched_attr structure: + * + * @size size of the structure, for fwd/bwd compat. + * + * @sched_policy task's scheduling policy + * @sched_flags for customizing the scheduler behaviour + * @sched_nice task's nice value (SCHED_NORMAL/BATCH) + * @sched_priority task's static priority (SCHED_FIFO/RR) + * @sched_deadline representative of the task's deadline + * @sched_runtime representative of the task's runtime + * @sched_period representative of the task's period + * + * Given this task model, there are a multiplicity of scheduling algorithms + * and policies, that can be used to ensure all the tasks will make their + * timing constraints. + * + * As of now, the SCHED_DEADLINE policy (sched_dl scheduling class) is the + * only user of this new interface. More information about the algorithm + * available in the scheduling class file or in Documentation/. + */ +struct sched_attr { + __u32 size; + + __u32 sched_policy; + __u64 sched_flags; + + /* SCHED_NORMAL, SCHED_BATCH */ + __s32 sched_nice; + + /* SCHED_FIFO, SCHED_RR */ + __u32 sched_priority; + + /* SCHED_DEADLINE */ + __u64 sched_runtime; + __u64 sched_deadline; + __u64 sched_period; +}; + +#endif /* _LINUX_SCHED_TYPES_H */ |