diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-04-20 14:51:10 -0500 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2023-04-20 14:53:41 -0500 |
commit | 0432b85d8e800439e57642bb25e93c32fa864f5c (patch) | |
tree | f41bbf81fdb459279eabc7159a8239c42ddcc10c /libc/config | |
parent | ef0949828e15d28a92ea04b84d803f1e05bdb1d6 (diff) | |
download | llvm-0432b85d8e800439e57642bb25e93c32fa864f5c.tar.gz |
[LIBC] Implement remainder of posix 'sched.h' minus `SCHED_SPORADIC`
Includes macros:
linux/SCHED_OTHER // posix req
linux/SCHED_FIFO // posix req
linux/SCHED_RR // posix req
linux/SCHED_BATCH
linux/SCHED_ISO
linux/SCHED_IDLE
linux/SCHED_DEADLINE
Includes types:
struct sched_param { int sched_priority; }
Includes functions:
sched_setparam
sched_getparam
sched_setscheduler
sched_getscheduler
sched_get_priority_max
sched_get_priority_min
sched_rr_get_interval
Reviewed By: michaelrj
Differential Revision: https://reviews.llvm.org/D148069
Diffstat (limited to 'libc/config')
-rw-r--r-- | libc/config/linux/aarch64/entrypoints.txt | 7 | ||||
-rw-r--r-- | libc/config/linux/api.td | 10 | ||||
-rw-r--r-- | libc/config/linux/riscv64/entrypoints.txt | 7 | ||||
-rw-r--r-- | libc/config/linux/x86_64/entrypoints.txt | 7 |
4 files changed, 30 insertions, 1 deletions
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt index a6413add96db..38023e553a9c 100644 --- a/libc/config/linux/aarch64/entrypoints.txt +++ b/libc/config/linux/aarch64/entrypoints.txt @@ -26,8 +26,15 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.fcntl.openat # sched.h entrypoints + libc.src.sched.sched_get_priority_max + libc.src.sched.sched_get_priority_min libc.src.sched.sched_getaffinity + libc.src.sched.sched_getparam + libc.src.sched.sched_getscheduler + libc.src.sched.sched_rr_get_interval libc.src.sched.sched_setaffinity + libc.src.sched.sched_setparam + libc.src.sched.sched_setscheduler libc.src.sched.sched_yield # string.h entrypoints diff --git a/libc/config/linux/api.td b/libc/config/linux/api.td index 10b4abfee7a4..8fac4e041f1b 100644 --- a/libc/config/linux/api.td +++ b/libc/config/linux/api.td @@ -103,7 +103,15 @@ def TimeAPI : PublicAPI<"time.h"> { } def SchedAPI : PublicAPI<"sched.h"> { - let Types = ["pid_t", "size_t", "cpu_set_t"]; + let Types = [ + "pid_t", + "size_t", + "cpu_set_t", + "struct sched_param", + // Needed according to posix standard + "time_t", + "struct timespec", + ]; } def SysMManAPI : PublicAPI<"sys/mman.h"> { diff --git a/libc/config/linux/riscv64/entrypoints.txt b/libc/config/linux/riscv64/entrypoints.txt index 6e1f8e30dea9..dc700941c667 100644 --- a/libc/config/linux/riscv64/entrypoints.txt +++ b/libc/config/linux/riscv64/entrypoints.txt @@ -26,8 +26,15 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.fcntl.openat # sched.h entrypoints + libc.src.sched.sched_get_priority_max + libc.src.sched.sched_get_priority_min libc.src.sched.sched_getaffinity + libc.src.sched.sched_getparam + libc.src.sched.sched_getscheduler + libc.src.sched.sched_rr_get_interval libc.src.sched.sched_setaffinity + libc.src.sched.sched_setparam + libc.src.sched.sched_setscheduler libc.src.sched.sched_yield # string.h entrypoints diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt index 0c084bba18ca..5ac24c6daade 100644 --- a/libc/config/linux/x86_64/entrypoints.txt +++ b/libc/config/linux/x86_64/entrypoints.txt @@ -26,8 +26,15 @@ set(TARGET_LIBC_ENTRYPOINTS libc.src.fcntl.openat # sched.h entrypoints + libc.src.sched.sched_get_priority_max + libc.src.sched.sched_get_priority_min libc.src.sched.sched_getaffinity + libc.src.sched.sched_getparam + libc.src.sched.sched_getscheduler + libc.src.sched.sched_rr_get_interval libc.src.sched.sched_setaffinity + libc.src.sched.sched_setparam + libc.src.sched.sched_setscheduler libc.src.sched.sched_yield # string.h entrypoints |