diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2021-01-08 11:41:26 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2021-04-01 11:11:29 +0800 |
commit | a736f13279640936c2864c338e7c09c4777e1766 (patch) | |
tree | fbe30677f70fadad92d5514611463db9a8f1dcd3 /linux-headers/include/linux/sched | |
parent | 457daed7711b579a1ee538a9e1f202735bfe8903 (diff) | |
download | riscv-gnu-toolchain-a736f13279640936c2864c338e7c09c4777e1766.zip riscv-gnu-toolchain-a736f13279640936c2864c338e7c09c4777e1766.tar.gz riscv-gnu-toolchain-a736f13279640936c2864c338e7c09c4777e1766.tar.bz2 |
Update linux header to 5.10.5
Diffstat (limited to 'linux-headers/include/linux/sched')
-rw-r--r-- | linux-headers/include/linux/sched/..install.cmd | 1 | ||||
-rw-r--r-- | linux-headers/include/linux/sched/.install | 0 | ||||
-rw-r--r-- | linux-headers/include/linux/sched/types.h | 66 |
3 files changed, 57 insertions, 10 deletions
diff --git a/linux-headers/include/linux/sched/..install.cmd b/linux-headers/include/linux/sched/..install.cmd deleted file mode 100644 index 8ec3474..0000000 --- a/linux-headers/include/linux/sched/..install.cmd +++ /dev/null @@ -1 +0,0 @@ -cmd_/home/users/kito/riscv-gnu-toolchain-workspace/riscv-gnu-toolchain/linux/install_hdr/include/linux/sched/.install := /bin/sh scripts/headers_install.sh /home/users/kito/riscv-gnu-toolchain-workspace/riscv-gnu-toolchain/linux/install_hdr/include/linux/sched ./include/uapi/linux/sched types.h; /bin/sh scripts/headers_install.sh /home/users/kito/riscv-gnu-toolchain-workspace/riscv-gnu-toolchain/linux/install_hdr/include/linux/sched ./include/generated/uapi/linux/sched ; touch /home/users/kito/riscv-gnu-toolchain-workspace/riscv-gnu-toolchain/linux/install_hdr/include/linux/sched/.install diff --git a/linux-headers/include/linux/sched/.install b/linux-headers/include/linux/sched/.install deleted file mode 100644 index e69de29..0000000 --- a/linux-headers/include/linux/sched/.install +++ /dev/null diff --git a/linux-headers/include/linux/sched/types.h b/linux-headers/include/linux/sched/types.h index 5131b2b..0848a67 100644 --- a/linux-headers/include/linux/sched/types.h +++ b/linux-headers/include/linux/sched/types.h @@ -9,6 +9,7 @@ struct sched_param { }; #define SCHED_ATTR_SIZE_VER0 48 /* sizeof first published struct */ +#define SCHED_ATTR_SIZE_VER1 56 /* add: util_{min,max} */ /* * Extended scheduling parameters data structure. @@ -21,8 +22,33 @@ struct sched_param { * 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: + * This variant (sched_attr) allows to define additional attributes to + * improve the scheduler knowledge about task requirements. + * + * Scheduling Class Attributes + * =========================== + * + * A subset of sched_attr attributes specifies the + * scheduling policy and relative POSIX attributes: + * + * @size size of the structure, for fwd/bwd compat. + * + * @sched_policy task's scheduling policy + * @sched_nice task's nice value (SCHED_NORMAL/BATCH) + * @sched_priority task's static priority (SCHED_FIFO/RR) + * + * Certain more advanced scheduling features can be controlled by a + * predefined set of flags via the attribute: + * + * @sched_flags for customizing the scheduler behaviour + * + * Sporadic Time-Constrained Task Attributes + * ========================================= + * + * A subset of sched_attr attributes allows to describe a so-called + * sporadic time-constrained task. + * + * In such a 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; @@ -34,14 +60,8 @@ struct sched_param { * 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: + * This is reflected by the following 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 @@ -53,6 +73,29 @@ struct sched_param { * 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/. + * + * Task Utilization Attributes + * =========================== + * + * A subset of sched_attr attributes allows to specify the utilization + * expected for a task. These attributes allow to inform the scheduler about + * the utilization boundaries within which it should schedule the task. These + * boundaries are valuable hints to support scheduler decisions on both task + * placement and frequency selection. + * + * @sched_util_min represents the minimum utilization + * @sched_util_max represents the maximum utilization + * + * Utilization is a value in the range [0..SCHED_CAPACITY_SCALE]. It + * represents the percentage of CPU time used by a task when running at the + * maximum frequency on the highest capacity CPU of the system. For example, a + * 20% utilization task is a task running for 2ms every 10ms at maximum + * frequency. + * + * A task with a min utilization value bigger than 0 is more likely scheduled + * on a CPU with a capacity big enough to fit the specified value. + * A task with a max utilization value smaller than 1024 is more likely + * scheduled on a CPU with no more capacity than the specified value. */ struct sched_attr { __u32 size; @@ -70,6 +113,11 @@ struct sched_attr { __u64 sched_runtime; __u64 sched_deadline; __u64 sched_period; + + /* Utilization hints */ + __u32 sched_util_min; + __u32 sched_util_max; + }; #endif /* _LINUX_SCHED_TYPES_H */ |